mirror of
https://github.com/zitadel/zitadel.git
synced 2025-08-11 21:37:32 +00:00
feat(eventstore): increase parallel write capabilities (#5940)
This implementation increases parallel write capabilities of the eventstore. Please have a look at the technical advisories: [05](https://zitadel.com/docs/support/advisory/a10005) and [06](https://zitadel.com/docs/support/advisory/a10006). The implementation of eventstore.push is rewritten and stored events are migrated to a new table `eventstore.events2`. If you are using cockroach: make sure that the database user of ZITADEL has `VIEWACTIVITY` grant. This is used to query events.
This commit is contained in:
@@ -2,14 +2,11 @@ package project
|
||||
|
||||
import (
|
||||
"context"
|
||||
"encoding/json"
|
||||
|
||||
"github.com/zitadel/zitadel/internal/eventstore"
|
||||
|
||||
"github.com/zitadel/zitadel/internal/crypto"
|
||||
"github.com/zitadel/zitadel/internal/domain"
|
||||
"github.com/zitadel/zitadel/internal/errors"
|
||||
"github.com/zitadel/zitadel/internal/eventstore/repository"
|
||||
"github.com/zitadel/zitadel/internal/eventstore"
|
||||
)
|
||||
|
||||
const (
|
||||
@@ -29,11 +26,11 @@ type APIConfigAddedEvent struct {
|
||||
AuthMethodType domain.APIAuthMethodType `json:"authMethodType,omitempty"`
|
||||
}
|
||||
|
||||
func (e *APIConfigAddedEvent) Data() interface{} {
|
||||
func (e *APIConfigAddedEvent) Payload() interface{} {
|
||||
return e
|
||||
}
|
||||
|
||||
func (e *APIConfigAddedEvent) UniqueConstraints() []*eventstore.EventUniqueConstraint {
|
||||
func (e *APIConfigAddedEvent) UniqueConstraints() []*eventstore.UniqueConstraint {
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -77,12 +74,12 @@ func (e *APIConfigAddedEvent) Validate(cmd eventstore.Command) bool {
|
||||
return true
|
||||
}
|
||||
|
||||
func APIConfigAddedEventMapper(event *repository.Event) (eventstore.Event, error) {
|
||||
func APIConfigAddedEventMapper(event eventstore.Event) (eventstore.Event, error) {
|
||||
e := &APIConfigAddedEvent{
|
||||
BaseEvent: *eventstore.BaseEventFromRepo(event),
|
||||
}
|
||||
|
||||
err := json.Unmarshal(event.Data, e)
|
||||
err := event.Unmarshal(e)
|
||||
if err != nil {
|
||||
return nil, errors.ThrowInternal(err, "API-BFd15", "unable to unmarshal api config")
|
||||
}
|
||||
@@ -98,11 +95,11 @@ type APIConfigChangedEvent struct {
|
||||
AuthMethodType *domain.APIAuthMethodType `json:"authMethodType,omitempty"`
|
||||
}
|
||||
|
||||
func (e *APIConfigChangedEvent) Data() interface{} {
|
||||
func (e *APIConfigChangedEvent) Payload() interface{} {
|
||||
return e
|
||||
}
|
||||
|
||||
func (e *APIConfigChangedEvent) UniqueConstraints() []*eventstore.EventUniqueConstraint {
|
||||
func (e *APIConfigChangedEvent) UniqueConstraints() []*eventstore.UniqueConstraint {
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -138,12 +135,12 @@ func ChangeAPIAuthMethodType(authMethodType domain.APIAuthMethodType) func(event
|
||||
}
|
||||
}
|
||||
|
||||
func APIConfigChangedEventMapper(event *repository.Event) (eventstore.Event, error) {
|
||||
func APIConfigChangedEventMapper(event eventstore.Event) (eventstore.Event, error) {
|
||||
e := &APIConfigChangedEvent{
|
||||
BaseEvent: *eventstore.BaseEventFromRepo(event),
|
||||
}
|
||||
|
||||
err := json.Unmarshal(event.Data, e)
|
||||
err := event.Unmarshal(e)
|
||||
if err != nil {
|
||||
return nil, errors.ThrowInternal(err, "API-BFd15", "unable to unmarshal api config")
|
||||
}
|
||||
@@ -158,11 +155,11 @@ type APIConfigSecretChangedEvent struct {
|
||||
ClientSecret *crypto.CryptoValue `json:"clientSecret,omitempty"`
|
||||
}
|
||||
|
||||
func (e *APIConfigSecretChangedEvent) Data() interface{} {
|
||||
func (e *APIConfigSecretChangedEvent) Payload() interface{} {
|
||||
return e
|
||||
}
|
||||
|
||||
func (e *APIConfigSecretChangedEvent) UniqueConstraints() []*eventstore.EventUniqueConstraint {
|
||||
func (e *APIConfigSecretChangedEvent) UniqueConstraints() []*eventstore.UniqueConstraint {
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -183,12 +180,12 @@ func NewAPIConfigSecretChangedEvent(
|
||||
}
|
||||
}
|
||||
|
||||
func APIConfigSecretChangedEventMapper(event *repository.Event) (eventstore.Event, error) {
|
||||
func APIConfigSecretChangedEventMapper(event eventstore.Event) (eventstore.Event, error) {
|
||||
e := &APIConfigSecretChangedEvent{
|
||||
BaseEvent: *eventstore.BaseEventFromRepo(event),
|
||||
}
|
||||
|
||||
err := json.Unmarshal(event.Data, e)
|
||||
err := event.Unmarshal(e)
|
||||
if err != nil {
|
||||
return nil, errors.ThrowInternal(err, "API-M893d", "unable to unmarshal api config")
|
||||
}
|
||||
@@ -202,11 +199,11 @@ type APIConfigSecretCheckSucceededEvent struct {
|
||||
AppID string `json:"appId"`
|
||||
}
|
||||
|
||||
func (e *APIConfigSecretCheckSucceededEvent) Data() interface{} {
|
||||
func (e *APIConfigSecretCheckSucceededEvent) Payload() interface{} {
|
||||
return e
|
||||
}
|
||||
|
||||
func (e *APIConfigSecretCheckSucceededEvent) UniqueConstraints() []*eventstore.EventUniqueConstraint {
|
||||
func (e *APIConfigSecretCheckSucceededEvent) UniqueConstraints() []*eventstore.UniqueConstraint {
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -225,12 +222,12 @@ func NewAPIConfigSecretCheckSucceededEvent(
|
||||
}
|
||||
}
|
||||
|
||||
func APIConfigSecretCheckSucceededEventMapper(event *repository.Event) (eventstore.Event, error) {
|
||||
func APIConfigSecretCheckSucceededEventMapper(event eventstore.Event) (eventstore.Event, error) {
|
||||
e := &APIConfigSecretCheckSucceededEvent{
|
||||
BaseEvent: *eventstore.BaseEventFromRepo(event),
|
||||
}
|
||||
|
||||
err := json.Unmarshal(event.Data, e)
|
||||
err := event.Unmarshal(e)
|
||||
if err != nil {
|
||||
return nil, errors.ThrowInternal(err, "API-837gV", "unable to unmarshal api config")
|
||||
}
|
||||
@@ -244,11 +241,11 @@ type APIConfigSecretCheckFailedEvent struct {
|
||||
AppID string `json:"appId"`
|
||||
}
|
||||
|
||||
func (e *APIConfigSecretCheckFailedEvent) Data() interface{} {
|
||||
func (e *APIConfigSecretCheckFailedEvent) Payload() interface{} {
|
||||
return e
|
||||
}
|
||||
|
||||
func (e *APIConfigSecretCheckFailedEvent) UniqueConstraints() []*eventstore.EventUniqueConstraint {
|
||||
func (e *APIConfigSecretCheckFailedEvent) UniqueConstraints() []*eventstore.UniqueConstraint {
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -267,12 +264,12 @@ func NewAPIConfigSecretCheckFailedEvent(
|
||||
}
|
||||
}
|
||||
|
||||
func APIConfigSecretCheckFailedEventMapper(event *repository.Event) (eventstore.Event, error) {
|
||||
func APIConfigSecretCheckFailedEventMapper(event eventstore.Event) (eventstore.Event, error) {
|
||||
e := &APIConfigSecretCheckFailedEvent{
|
||||
BaseEvent: *eventstore.BaseEventFromRepo(event),
|
||||
}
|
||||
|
||||
err := json.Unmarshal(event.Data, e)
|
||||
err := event.Unmarshal(e)
|
||||
if err != nil {
|
||||
return nil, errors.ThrowInternal(err, "API-987g%", "unable to unmarshal api config")
|
||||
}
|
||||
|
@@ -2,13 +2,10 @@ package project
|
||||
|
||||
import (
|
||||
"context"
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
|
||||
"github.com/zitadel/zitadel/internal/eventstore"
|
||||
|
||||
"github.com/zitadel/zitadel/internal/errors"
|
||||
"github.com/zitadel/zitadel/internal/eventstore/repository"
|
||||
"github.com/zitadel/zitadel/internal/eventstore"
|
||||
)
|
||||
|
||||
const (
|
||||
@@ -21,15 +18,15 @@ const (
|
||||
ApplicationRemovedType = applicationEventTypePrefix + "removed"
|
||||
)
|
||||
|
||||
func NewAddApplicationUniqueConstraint(name, projectID string) *eventstore.EventUniqueConstraint {
|
||||
func NewAddApplicationUniqueConstraint(name, projectID string) *eventstore.UniqueConstraint {
|
||||
return eventstore.NewAddEventUniqueConstraint(
|
||||
UniqueAppNameType,
|
||||
fmt.Sprintf("%s:%s", name, projectID),
|
||||
"Errors.Project.App.AlreadyExists")
|
||||
}
|
||||
|
||||
func NewRemoveApplicationUniqueConstraint(name, projectID string) *eventstore.EventUniqueConstraint {
|
||||
return eventstore.NewRemoveEventUniqueConstraint(
|
||||
func NewRemoveApplicationUniqueConstraint(name, projectID string) *eventstore.UniqueConstraint {
|
||||
return eventstore.NewRemoveUniqueConstraint(
|
||||
UniqueAppNameType,
|
||||
fmt.Sprintf("%s:%s", name, projectID))
|
||||
}
|
||||
@@ -41,12 +38,12 @@ type ApplicationAddedEvent struct {
|
||||
Name string `json:"name,omitempty"`
|
||||
}
|
||||
|
||||
func (e *ApplicationAddedEvent) Data() interface{} {
|
||||
func (e *ApplicationAddedEvent) Payload() interface{} {
|
||||
return e
|
||||
}
|
||||
|
||||
func (e *ApplicationAddedEvent) UniqueConstraints() []*eventstore.EventUniqueConstraint {
|
||||
return []*eventstore.EventUniqueConstraint{NewAddApplicationUniqueConstraint(e.Name, e.Aggregate().ID)}
|
||||
func (e *ApplicationAddedEvent) UniqueConstraints() []*eventstore.UniqueConstraint {
|
||||
return []*eventstore.UniqueConstraint{NewAddApplicationUniqueConstraint(e.Name, e.Aggregate().ID)}
|
||||
}
|
||||
|
||||
func NewApplicationAddedEvent(
|
||||
@@ -66,12 +63,12 @@ func NewApplicationAddedEvent(
|
||||
}
|
||||
}
|
||||
|
||||
func ApplicationAddedEventMapper(event *repository.Event) (eventstore.Event, error) {
|
||||
func ApplicationAddedEventMapper(event eventstore.Event) (eventstore.Event, error) {
|
||||
e := &ApplicationAddedEvent{
|
||||
BaseEvent: *eventstore.BaseEventFromRepo(event),
|
||||
}
|
||||
|
||||
err := json.Unmarshal(event.Data, e)
|
||||
err := event.Unmarshal(e)
|
||||
if err != nil {
|
||||
return nil, errors.ThrowInternal(err, "APPLICATION-Nffg2", "unable to unmarshal application")
|
||||
}
|
||||
@@ -87,12 +84,12 @@ type ApplicationChangedEvent struct {
|
||||
oldName string
|
||||
}
|
||||
|
||||
func (e *ApplicationChangedEvent) Data() interface{} {
|
||||
func (e *ApplicationChangedEvent) Payload() interface{} {
|
||||
return e
|
||||
}
|
||||
|
||||
func (e *ApplicationChangedEvent) UniqueConstraints() []*eventstore.EventUniqueConstraint {
|
||||
return []*eventstore.EventUniqueConstraint{
|
||||
func (e *ApplicationChangedEvent) UniqueConstraints() []*eventstore.UniqueConstraint {
|
||||
return []*eventstore.UniqueConstraint{
|
||||
NewRemoveApplicationUniqueConstraint(e.oldName, e.Aggregate().ID),
|
||||
NewAddApplicationUniqueConstraint(e.Name, e.Aggregate().ID),
|
||||
}
|
||||
@@ -117,12 +114,12 @@ func NewApplicationChangedEvent(
|
||||
}
|
||||
}
|
||||
|
||||
func ApplicationChangedEventMapper(event *repository.Event) (eventstore.Event, error) {
|
||||
func ApplicationChangedEventMapper(event eventstore.Event) (eventstore.Event, error) {
|
||||
e := &ApplicationChangedEvent{
|
||||
BaseEvent: *eventstore.BaseEventFromRepo(event),
|
||||
}
|
||||
|
||||
err := json.Unmarshal(event.Data, e)
|
||||
err := event.Unmarshal(e)
|
||||
if err != nil {
|
||||
return nil, errors.ThrowInternal(err, "APPLICATION-9l0cs", "unable to unmarshal application")
|
||||
}
|
||||
@@ -136,11 +133,11 @@ type ApplicationDeactivatedEvent struct {
|
||||
AppID string `json:"appId,omitempty"`
|
||||
}
|
||||
|
||||
func (e *ApplicationDeactivatedEvent) Data() interface{} {
|
||||
func (e *ApplicationDeactivatedEvent) Payload() interface{} {
|
||||
return e
|
||||
}
|
||||
|
||||
func (e *ApplicationDeactivatedEvent) UniqueConstraints() []*eventstore.EventUniqueConstraint {
|
||||
func (e *ApplicationDeactivatedEvent) UniqueConstraints() []*eventstore.UniqueConstraint {
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -159,12 +156,12 @@ func NewApplicationDeactivatedEvent(
|
||||
}
|
||||
}
|
||||
|
||||
func ApplicationDeactivatedEventMapper(event *repository.Event) (eventstore.Event, error) {
|
||||
func ApplicationDeactivatedEventMapper(event eventstore.Event) (eventstore.Event, error) {
|
||||
e := &ApplicationDeactivatedEvent{
|
||||
BaseEvent: *eventstore.BaseEventFromRepo(event),
|
||||
}
|
||||
|
||||
err := json.Unmarshal(event.Data, e)
|
||||
err := event.Unmarshal(e)
|
||||
if err != nil {
|
||||
return nil, errors.ThrowInternal(err, "APPLICATION-0p9fB", "unable to unmarshal application")
|
||||
}
|
||||
@@ -178,11 +175,11 @@ type ApplicationReactivatedEvent struct {
|
||||
AppID string `json:"appId,omitempty"`
|
||||
}
|
||||
|
||||
func (e *ApplicationReactivatedEvent) Data() interface{} {
|
||||
func (e *ApplicationReactivatedEvent) Payload() interface{} {
|
||||
return e
|
||||
}
|
||||
|
||||
func (e *ApplicationReactivatedEvent) UniqueConstraints() []*eventstore.EventUniqueConstraint {
|
||||
func (e *ApplicationReactivatedEvent) UniqueConstraints() []*eventstore.UniqueConstraint {
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -201,12 +198,12 @@ func NewApplicationReactivatedEvent(
|
||||
}
|
||||
}
|
||||
|
||||
func ApplicationReactivatedEventMapper(event *repository.Event) (eventstore.Event, error) {
|
||||
func ApplicationReactivatedEventMapper(event eventstore.Event) (eventstore.Event, error) {
|
||||
e := &ApplicationReactivatedEvent{
|
||||
BaseEvent: *eventstore.BaseEventFromRepo(event),
|
||||
}
|
||||
|
||||
err := json.Unmarshal(event.Data, e)
|
||||
err := event.Unmarshal(e)
|
||||
if err != nil {
|
||||
return nil, errors.ThrowInternal(err, "APPLICATION-1m9e3", "unable to unmarshal application")
|
||||
}
|
||||
@@ -222,12 +219,12 @@ type ApplicationRemovedEvent struct {
|
||||
entityID string
|
||||
}
|
||||
|
||||
func (e *ApplicationRemovedEvent) Data() interface{} {
|
||||
func (e *ApplicationRemovedEvent) Payload() interface{} {
|
||||
return e
|
||||
}
|
||||
|
||||
func (e *ApplicationRemovedEvent) UniqueConstraints() []*eventstore.EventUniqueConstraint {
|
||||
remove := []*eventstore.EventUniqueConstraint{NewRemoveApplicationUniqueConstraint(e.name, e.Aggregate().ID)}
|
||||
func (e *ApplicationRemovedEvent) UniqueConstraints() []*eventstore.UniqueConstraint {
|
||||
remove := []*eventstore.UniqueConstraint{NewRemoveApplicationUniqueConstraint(e.name, e.Aggregate().ID)}
|
||||
if e.entityID != "" {
|
||||
remove = append(remove, NewRemoveSAMLConfigEntityIDUniqueConstraint(e.entityID))
|
||||
}
|
||||
@@ -253,12 +250,12 @@ func NewApplicationRemovedEvent(
|
||||
}
|
||||
}
|
||||
|
||||
func ApplicationRemovedEventMapper(event *repository.Event) (eventstore.Event, error) {
|
||||
func ApplicationRemovedEventMapper(event eventstore.Event) (eventstore.Event, error) {
|
||||
e := &ApplicationRemovedEvent{
|
||||
BaseEvent: *eventstore.BaseEventFromRepo(event),
|
||||
}
|
||||
|
||||
err := json.Unmarshal(event.Data, e)
|
||||
err := event.Unmarshal(e)
|
||||
if err != nil {
|
||||
return nil, errors.ThrowInternal(err, "APPLICATION-1m9e3", "unable to unmarshal application")
|
||||
}
|
||||
|
@@ -2,13 +2,10 @@ package project
|
||||
|
||||
import (
|
||||
"context"
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
|
||||
"github.com/zitadel/zitadel/internal/eventstore"
|
||||
|
||||
"github.com/zitadel/zitadel/internal/errors"
|
||||
"github.com/zitadel/zitadel/internal/eventstore/repository"
|
||||
"github.com/zitadel/zitadel/internal/eventstore"
|
||||
)
|
||||
|
||||
var (
|
||||
@@ -22,15 +19,15 @@ var (
|
||||
GrantRemovedType = grantEventTypePrefix + "removed"
|
||||
)
|
||||
|
||||
func NewAddProjectGrantUniqueConstraint(grantedOrgID, projectID string) *eventstore.EventUniqueConstraint {
|
||||
func NewAddProjectGrantUniqueConstraint(grantedOrgID, projectID string) *eventstore.UniqueConstraint {
|
||||
return eventstore.NewAddEventUniqueConstraint(
|
||||
UniqueGrantType,
|
||||
fmt.Sprintf("%s:%s", grantedOrgID, projectID),
|
||||
"Errors.Project.Grant.AlreadyExists")
|
||||
}
|
||||
|
||||
func NewRemoveProjectGrantUniqueConstraint(grantedOrgID, projectID string) *eventstore.EventUniqueConstraint {
|
||||
return eventstore.NewRemoveEventUniqueConstraint(
|
||||
func NewRemoveProjectGrantUniqueConstraint(grantedOrgID, projectID string) *eventstore.UniqueConstraint {
|
||||
return eventstore.NewRemoveUniqueConstraint(
|
||||
UniqueGrantType,
|
||||
fmt.Sprintf("%s:%s", grantedOrgID, projectID))
|
||||
}
|
||||
@@ -43,12 +40,12 @@ type GrantAddedEvent struct {
|
||||
RoleKeys []string `json:"roleKeys,omitempty"`
|
||||
}
|
||||
|
||||
func (e *GrantAddedEvent) Data() interface{} {
|
||||
func (e *GrantAddedEvent) Payload() interface{} {
|
||||
return e
|
||||
}
|
||||
|
||||
func (e *GrantAddedEvent) UniqueConstraints() []*eventstore.EventUniqueConstraint {
|
||||
return []*eventstore.EventUniqueConstraint{NewAddProjectGrantUniqueConstraint(e.GrantedOrgID, e.Aggregate().ID)}
|
||||
func (e *GrantAddedEvent) UniqueConstraints() []*eventstore.UniqueConstraint {
|
||||
return []*eventstore.UniqueConstraint{NewAddProjectGrantUniqueConstraint(e.GrantedOrgID, e.Aggregate().ID)}
|
||||
}
|
||||
|
||||
func NewGrantAddedEvent(
|
||||
@@ -70,12 +67,12 @@ func NewGrantAddedEvent(
|
||||
}
|
||||
}
|
||||
|
||||
func GrantAddedEventMapper(event *repository.Event) (eventstore.Event, error) {
|
||||
func GrantAddedEventMapper(event eventstore.Event) (eventstore.Event, error) {
|
||||
e := &GrantAddedEvent{
|
||||
BaseEvent: *eventstore.BaseEventFromRepo(event),
|
||||
}
|
||||
|
||||
err := json.Unmarshal(event.Data, e)
|
||||
err := event.Unmarshal(e)
|
||||
if err != nil {
|
||||
return nil, errors.ThrowInternal(err, "PROJECT-mL0vs", "unable to unmarshal project grant")
|
||||
}
|
||||
@@ -90,11 +87,11 @@ type GrantChangedEvent struct {
|
||||
RoleKeys []string `json:"roleKeys,omitempty"`
|
||||
}
|
||||
|
||||
func (e *GrantChangedEvent) Data() interface{} {
|
||||
func (e *GrantChangedEvent) Payload() interface{} {
|
||||
return e
|
||||
}
|
||||
|
||||
func (e *GrantChangedEvent) UniqueConstraints() []*eventstore.EventUniqueConstraint {
|
||||
func (e *GrantChangedEvent) UniqueConstraints() []*eventstore.UniqueConstraint {
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -115,12 +112,12 @@ func NewGrantChangedEvent(
|
||||
}
|
||||
}
|
||||
|
||||
func GrantChangedEventMapper(event *repository.Event) (eventstore.Event, error) {
|
||||
func GrantChangedEventMapper(event eventstore.Event) (eventstore.Event, error) {
|
||||
e := &GrantChangedEvent{
|
||||
BaseEvent: *eventstore.BaseEventFromRepo(event),
|
||||
}
|
||||
|
||||
err := json.Unmarshal(event.Data, e)
|
||||
err := event.Unmarshal(e)
|
||||
if err != nil {
|
||||
return nil, errors.ThrowInternal(err, "PROJECT-mL0vs", "unable to unmarshal project grant")
|
||||
}
|
||||
@@ -135,11 +132,11 @@ type GrantCascadeChangedEvent struct {
|
||||
RoleKeys []string `json:"roleKeys,omitempty"`
|
||||
}
|
||||
|
||||
func (e *GrantCascadeChangedEvent) Data() interface{} {
|
||||
func (e *GrantCascadeChangedEvent) Payload() interface{} {
|
||||
return e
|
||||
}
|
||||
|
||||
func (e *GrantCascadeChangedEvent) UniqueConstraints() []*eventstore.EventUniqueConstraint {
|
||||
func (e *GrantCascadeChangedEvent) UniqueConstraints() []*eventstore.UniqueConstraint {
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -160,12 +157,12 @@ func NewGrantCascadeChangedEvent(
|
||||
}
|
||||
}
|
||||
|
||||
func GrantCascadeChangedEventMapper(event *repository.Event) (eventstore.Event, error) {
|
||||
func GrantCascadeChangedEventMapper(event eventstore.Event) (eventstore.Event, error) {
|
||||
e := &GrantCascadeChangedEvent{
|
||||
BaseEvent: *eventstore.BaseEventFromRepo(event),
|
||||
}
|
||||
|
||||
err := json.Unmarshal(event.Data, e)
|
||||
err := event.Unmarshal(e)
|
||||
if err != nil {
|
||||
return nil, errors.ThrowInternal(err, "PROJECT-9o0se", "unable to unmarshal project grant")
|
||||
}
|
||||
@@ -179,11 +176,11 @@ type GrantDeactivateEvent struct {
|
||||
GrantID string `json:"grantId,omitempty"`
|
||||
}
|
||||
|
||||
func (e *GrantDeactivateEvent) Data() interface{} {
|
||||
func (e *GrantDeactivateEvent) Payload() interface{} {
|
||||
return e
|
||||
}
|
||||
|
||||
func (e *GrantDeactivateEvent) UniqueConstraints() []*eventstore.EventUniqueConstraint {
|
||||
func (e *GrantDeactivateEvent) UniqueConstraints() []*eventstore.UniqueConstraint {
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -202,12 +199,12 @@ func NewGrantDeactivateEvent(
|
||||
}
|
||||
}
|
||||
|
||||
func GrantDeactivateEventMapper(event *repository.Event) (eventstore.Event, error) {
|
||||
func GrantDeactivateEventMapper(event eventstore.Event) (eventstore.Event, error) {
|
||||
e := &GrantDeactivateEvent{
|
||||
BaseEvent: *eventstore.BaseEventFromRepo(event),
|
||||
}
|
||||
|
||||
err := json.Unmarshal(event.Data, e)
|
||||
err := event.Unmarshal(e)
|
||||
if err != nil {
|
||||
return nil, errors.ThrowInternal(err, "PROJECT-9o0se", "unable to unmarshal project grant")
|
||||
}
|
||||
@@ -221,11 +218,11 @@ type GrantReactivatedEvent struct {
|
||||
GrantID string `json:"grantId,omitempty"`
|
||||
}
|
||||
|
||||
func (e *GrantReactivatedEvent) Data() interface{} {
|
||||
func (e *GrantReactivatedEvent) Payload() interface{} {
|
||||
return e
|
||||
}
|
||||
|
||||
func (e *GrantReactivatedEvent) UniqueConstraints() []*eventstore.EventUniqueConstraint {
|
||||
func (e *GrantReactivatedEvent) UniqueConstraints() []*eventstore.UniqueConstraint {
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -244,12 +241,12 @@ func NewGrantReactivatedEvent(
|
||||
}
|
||||
}
|
||||
|
||||
func GrantReactivatedEventMapper(event *repository.Event) (eventstore.Event, error) {
|
||||
func GrantReactivatedEventMapper(event eventstore.Event) (eventstore.Event, error) {
|
||||
e := &GrantReactivatedEvent{
|
||||
BaseEvent: *eventstore.BaseEventFromRepo(event),
|
||||
}
|
||||
|
||||
err := json.Unmarshal(event.Data, e)
|
||||
err := event.Unmarshal(e)
|
||||
if err != nil {
|
||||
return nil, errors.ThrowInternal(err, "PROJECT-78f7D", "unable to unmarshal project grant")
|
||||
}
|
||||
@@ -264,12 +261,12 @@ type GrantRemovedEvent struct {
|
||||
grantedOrgID string
|
||||
}
|
||||
|
||||
func (e *GrantRemovedEvent) Data() interface{} {
|
||||
func (e *GrantRemovedEvent) Payload() interface{} {
|
||||
return e
|
||||
}
|
||||
|
||||
func (e *GrantRemovedEvent) UniqueConstraints() []*eventstore.EventUniqueConstraint {
|
||||
return []*eventstore.EventUniqueConstraint{NewRemoveProjectGrantUniqueConstraint(e.grantedOrgID, e.Aggregate().ID)}
|
||||
func (e *GrantRemovedEvent) UniqueConstraints() []*eventstore.UniqueConstraint {
|
||||
return []*eventstore.UniqueConstraint{NewRemoveProjectGrantUniqueConstraint(e.grantedOrgID, e.Aggregate().ID)}
|
||||
}
|
||||
|
||||
func NewGrantRemovedEvent(
|
||||
@@ -289,12 +286,12 @@ func NewGrantRemovedEvent(
|
||||
}
|
||||
}
|
||||
|
||||
func GrantRemovedEventMapper(event *repository.Event) (eventstore.Event, error) {
|
||||
func GrantRemovedEventMapper(event eventstore.Event) (eventstore.Event, error) {
|
||||
e := &GrantRemovedEvent{
|
||||
BaseEvent: *eventstore.BaseEventFromRepo(event),
|
||||
}
|
||||
|
||||
err := json.Unmarshal(event.Data, e)
|
||||
err := event.Unmarshal(e)
|
||||
if err != nil {
|
||||
return nil, errors.ThrowInternal(err, "PROJECT-28jM8", "unable to unmarshal project grant")
|
||||
}
|
||||
|
@@ -2,13 +2,10 @@ package project
|
||||
|
||||
import (
|
||||
"context"
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
|
||||
"github.com/zitadel/zitadel/internal/eventstore"
|
||||
|
||||
"github.com/zitadel/zitadel/internal/errors"
|
||||
"github.com/zitadel/zitadel/internal/eventstore/repository"
|
||||
"github.com/zitadel/zitadel/internal/eventstore"
|
||||
"github.com/zitadel/zitadel/internal/repository/member"
|
||||
)
|
||||
|
||||
@@ -20,15 +17,15 @@ var (
|
||||
GrantMemberCascadeRemovedType = grantEventTypePrefix + member.CascadeRemovedEventType
|
||||
)
|
||||
|
||||
func NewAddProjectGrantMemberUniqueConstraint(projectID, userID, grantID string) *eventstore.EventUniqueConstraint {
|
||||
func NewAddProjectGrantMemberUniqueConstraint(projectID, userID, grantID string) *eventstore.UniqueConstraint {
|
||||
return eventstore.NewAddEventUniqueConstraint(
|
||||
UniqueProjectGrantMemberType,
|
||||
fmt.Sprintf("%s:%s:%s", projectID, userID, grantID),
|
||||
"Errors.Project.Member.AlreadyExists")
|
||||
}
|
||||
|
||||
func NewRemoveProjectGrantMemberUniqueConstraint(projectID, userID, grantID string) *eventstore.EventUniqueConstraint {
|
||||
return eventstore.NewRemoveEventUniqueConstraint(
|
||||
func NewRemoveProjectGrantMemberUniqueConstraint(projectID, userID, grantID string) *eventstore.UniqueConstraint {
|
||||
return eventstore.NewRemoveUniqueConstraint(
|
||||
UniqueProjectGrantMemberType,
|
||||
fmt.Sprintf("%s:%s:%s", projectID, userID, grantID),
|
||||
)
|
||||
@@ -42,12 +39,12 @@ type GrantMemberAddedEvent struct {
|
||||
GrantID string `json:"grantId"`
|
||||
}
|
||||
|
||||
func (e *GrantMemberAddedEvent) Data() interface{} {
|
||||
func (e *GrantMemberAddedEvent) Payload() interface{} {
|
||||
return e
|
||||
}
|
||||
|
||||
func (e *GrantMemberAddedEvent) UniqueConstraints() []*eventstore.EventUniqueConstraint {
|
||||
return []*eventstore.EventUniqueConstraint{NewAddProjectGrantMemberUniqueConstraint(e.Aggregate().ID, e.UserID, e.GrantID)}
|
||||
func (e *GrantMemberAddedEvent) UniqueConstraints() []*eventstore.UniqueConstraint {
|
||||
return []*eventstore.UniqueConstraint{NewAddProjectGrantMemberUniqueConstraint(e.Aggregate().ID, e.UserID, e.GrantID)}
|
||||
}
|
||||
|
||||
func NewProjectGrantMemberAddedEvent(
|
||||
@@ -69,12 +66,12 @@ func NewProjectGrantMemberAddedEvent(
|
||||
}
|
||||
}
|
||||
|
||||
func GrantMemberAddedEventMapper(event *repository.Event) (eventstore.Event, error) {
|
||||
func GrantMemberAddedEventMapper(event eventstore.Event) (eventstore.Event, error) {
|
||||
e := &GrantMemberAddedEvent{
|
||||
BaseEvent: *eventstore.BaseEventFromRepo(event),
|
||||
}
|
||||
|
||||
err := json.Unmarshal(event.Data, e)
|
||||
err := event.Unmarshal(e)
|
||||
if err != nil {
|
||||
return nil, errors.ThrowInternal(err, "PROJECT-9f0sf", "unable to unmarshal label policy")
|
||||
}
|
||||
@@ -90,11 +87,11 @@ type GrantMemberChangedEvent struct {
|
||||
UserID string `json:"userId"`
|
||||
}
|
||||
|
||||
func (e *GrantMemberChangedEvent) Data() interface{} {
|
||||
func (e *GrantMemberChangedEvent) Payload() interface{} {
|
||||
return e
|
||||
}
|
||||
|
||||
func (e *GrantMemberChangedEvent) UniqueConstraints() []*eventstore.EventUniqueConstraint {
|
||||
func (e *GrantMemberChangedEvent) UniqueConstraints() []*eventstore.UniqueConstraint {
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -117,12 +114,12 @@ func NewProjectGrantMemberChangedEvent(
|
||||
}
|
||||
}
|
||||
|
||||
func GrantMemberChangedEventMapper(event *repository.Event) (eventstore.Event, error) {
|
||||
func GrantMemberChangedEventMapper(event eventstore.Event) (eventstore.Event, error) {
|
||||
e := &GrantMemberChangedEvent{
|
||||
BaseEvent: *eventstore.BaseEventFromRepo(event),
|
||||
}
|
||||
|
||||
err := json.Unmarshal(event.Data, e)
|
||||
err := event.Unmarshal(e)
|
||||
if err != nil {
|
||||
return nil, errors.ThrowInternal(err, "PROJECT-39fi8", "unable to unmarshal label policy")
|
||||
}
|
||||
@@ -137,12 +134,12 @@ type GrantMemberRemovedEvent struct {
|
||||
GrantID string `json:"grantId"`
|
||||
}
|
||||
|
||||
func (e *GrantMemberRemovedEvent) Data() interface{} {
|
||||
func (e *GrantMemberRemovedEvent) Payload() interface{} {
|
||||
return e
|
||||
}
|
||||
|
||||
func (e *GrantMemberRemovedEvent) UniqueConstraints() []*eventstore.EventUniqueConstraint {
|
||||
return []*eventstore.EventUniqueConstraint{NewRemoveProjectGrantMemberUniqueConstraint(e.Aggregate().ID, e.UserID, e.GrantID)}
|
||||
func (e *GrantMemberRemovedEvent) UniqueConstraints() []*eventstore.UniqueConstraint {
|
||||
return []*eventstore.UniqueConstraint{NewRemoveProjectGrantMemberUniqueConstraint(e.Aggregate().ID, e.UserID, e.GrantID)}
|
||||
}
|
||||
|
||||
func NewProjectGrantMemberRemovedEvent(
|
||||
@@ -162,12 +159,12 @@ func NewProjectGrantMemberRemovedEvent(
|
||||
}
|
||||
}
|
||||
|
||||
func GrantMemberRemovedEventMapper(event *repository.Event) (eventstore.Event, error) {
|
||||
func GrantMemberRemovedEventMapper(event eventstore.Event) (eventstore.Event, error) {
|
||||
e := &GrantMemberRemovedEvent{
|
||||
BaseEvent: *eventstore.BaseEventFromRepo(event),
|
||||
}
|
||||
|
||||
err := json.Unmarshal(event.Data, e)
|
||||
err := event.Unmarshal(e)
|
||||
if err != nil {
|
||||
return nil, errors.ThrowInternal(err, "PROJECT-173fM", "unable to unmarshal label policy")
|
||||
}
|
||||
@@ -182,12 +179,12 @@ type GrantMemberCascadeRemovedEvent struct {
|
||||
GrantID string `json:"grantId"`
|
||||
}
|
||||
|
||||
func (e *GrantMemberCascadeRemovedEvent) Data() interface{} {
|
||||
func (e *GrantMemberCascadeRemovedEvent) Payload() interface{} {
|
||||
return e
|
||||
}
|
||||
|
||||
func (e *GrantMemberCascadeRemovedEvent) UniqueConstraints() []*eventstore.EventUniqueConstraint {
|
||||
return []*eventstore.EventUniqueConstraint{NewRemoveProjectGrantMemberUniqueConstraint(e.Aggregate().ID, e.UserID, e.GrantID)}
|
||||
func (e *GrantMemberCascadeRemovedEvent) UniqueConstraints() []*eventstore.UniqueConstraint {
|
||||
return []*eventstore.UniqueConstraint{NewRemoveProjectGrantMemberUniqueConstraint(e.Aggregate().ID, e.UserID, e.GrantID)}
|
||||
}
|
||||
|
||||
func NewProjectGrantMemberCascadeRemovedEvent(
|
||||
@@ -207,12 +204,12 @@ func NewProjectGrantMemberCascadeRemovedEvent(
|
||||
}
|
||||
}
|
||||
|
||||
func GrantMemberCascadeRemovedEventMapper(event *repository.Event) (eventstore.Event, error) {
|
||||
func GrantMemberCascadeRemovedEventMapper(event eventstore.Event) (eventstore.Event, error) {
|
||||
e := &GrantMemberCascadeRemovedEvent{
|
||||
BaseEvent: *eventstore.BaseEventFromRepo(event),
|
||||
}
|
||||
|
||||
err := json.Unmarshal(event.Data, e)
|
||||
err := event.Unmarshal(e)
|
||||
if err != nil {
|
||||
return nil, errors.ThrowInternal(err, "PROJECT-3kfs3", "unable to unmarshal label policy")
|
||||
}
|
||||
|
@@ -2,14 +2,11 @@ package project
|
||||
|
||||
import (
|
||||
"context"
|
||||
"encoding/json"
|
||||
"time"
|
||||
|
||||
"github.com/zitadel/zitadel/internal/eventstore"
|
||||
|
||||
"github.com/zitadel/zitadel/internal/domain"
|
||||
"github.com/zitadel/zitadel/internal/errors"
|
||||
"github.com/zitadel/zitadel/internal/eventstore/repository"
|
||||
"github.com/zitadel/zitadel/internal/eventstore"
|
||||
)
|
||||
|
||||
const (
|
||||
@@ -29,11 +26,11 @@ type ApplicationKeyAddedEvent struct {
|
||||
PublicKey []byte `json:"publicKey,omitempty"`
|
||||
}
|
||||
|
||||
func (e *ApplicationKeyAddedEvent) Data() interface{} {
|
||||
func (e *ApplicationKeyAddedEvent) Payload() interface{} {
|
||||
return e
|
||||
}
|
||||
|
||||
func (e *ApplicationKeyAddedEvent) UniqueConstraints() []*eventstore.EventUniqueConstraint {
|
||||
func (e *ApplicationKeyAddedEvent) UniqueConstraints() []*eventstore.UniqueConstraint {
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -62,12 +59,12 @@ func NewApplicationKeyAddedEvent(
|
||||
}
|
||||
}
|
||||
|
||||
func ApplicationKeyAddedEventMapper(event *repository.Event) (eventstore.Event, error) {
|
||||
func ApplicationKeyAddedEventMapper(event eventstore.Event) (eventstore.Event, error) {
|
||||
e := &ApplicationKeyAddedEvent{
|
||||
BaseEvent: *eventstore.BaseEventFromRepo(event),
|
||||
}
|
||||
|
||||
err := json.Unmarshal(event.Data, e)
|
||||
err := event.Unmarshal(e)
|
||||
if err != nil {
|
||||
return nil, errors.ThrowInternal(err, "API-BFd15", "unable to unmarshal api config")
|
||||
}
|
||||
@@ -81,11 +78,11 @@ type ApplicationKeyRemovedEvent struct {
|
||||
KeyID string `json:"keyId,omitempty"`
|
||||
}
|
||||
|
||||
func (e *ApplicationKeyRemovedEvent) Data() interface{} {
|
||||
func (e *ApplicationKeyRemovedEvent) Payload() interface{} {
|
||||
return e
|
||||
}
|
||||
|
||||
func (e *ApplicationKeyRemovedEvent) UniqueConstraints() []*eventstore.EventUniqueConstraint {
|
||||
func (e *ApplicationKeyRemovedEvent) UniqueConstraints() []*eventstore.UniqueConstraint {
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -104,13 +101,13 @@ func NewApplicationKeyRemovedEvent(
|
||||
}
|
||||
}
|
||||
|
||||
func ApplicationKeyRemovedEventMapper(event *repository.Event) (eventstore.Event, error) {
|
||||
func ApplicationKeyRemovedEventMapper(event eventstore.Event) (eventstore.Event, error) {
|
||||
applicationKeyRemoved := &ApplicationKeyRemovedEvent{
|
||||
BaseEvent: *eventstore.BaseEventFromRepo(event),
|
||||
}
|
||||
err := json.Unmarshal(event.Data, applicationKeyRemoved)
|
||||
err := event.Unmarshal(applicationKeyRemoved)
|
||||
if err != nil {
|
||||
return nil, errors.ThrowInternal(err, "USER-5Gm9s", "unable to unmarshal application key removed")
|
||||
return nil, errors.ThrowInternal(err, "USER-cjLeA", "unable to unmarshal application key removed")
|
||||
}
|
||||
|
||||
return applicationKeyRemoved, nil
|
||||
|
@@ -4,8 +4,6 @@ import (
|
||||
"context"
|
||||
|
||||
"github.com/zitadel/zitadel/internal/eventstore"
|
||||
|
||||
"github.com/zitadel/zitadel/internal/eventstore/repository"
|
||||
"github.com/zitadel/zitadel/internal/repository/member"
|
||||
)
|
||||
|
||||
@@ -39,7 +37,7 @@ func NewProjectMemberAddedEvent(
|
||||
}
|
||||
}
|
||||
|
||||
func MemberAddedEventMapper(event *repository.Event) (eventstore.Event, error) {
|
||||
func MemberAddedEventMapper(event eventstore.Event) (eventstore.Event, error) {
|
||||
e, err := member.MemberAddedEventMapper(event)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
@@ -72,7 +70,7 @@ func NewProjectMemberChangedEvent(
|
||||
}
|
||||
}
|
||||
|
||||
func MemberChangedEventMapper(event *repository.Event) (eventstore.Event, error) {
|
||||
func MemberChangedEventMapper(event eventstore.Event) (eventstore.Event, error) {
|
||||
e, err := member.ChangedEventMapper(event)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
@@ -103,7 +101,7 @@ func NewProjectMemberRemovedEvent(
|
||||
}
|
||||
}
|
||||
|
||||
func MemberRemovedEventMapper(event *repository.Event) (eventstore.Event, error) {
|
||||
func MemberRemovedEventMapper(event eventstore.Event) (eventstore.Event, error) {
|
||||
e, err := member.RemovedEventMapper(event)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
@@ -134,7 +132,7 @@ func NewProjectMemberCascadeRemovedEvent(
|
||||
}
|
||||
}
|
||||
|
||||
func MemberCascadeRemovedEventMapper(event *repository.Event) (eventstore.Event, error) {
|
||||
func MemberCascadeRemovedEventMapper(event eventstore.Event) (eventstore.Event, error) {
|
||||
e, err := member.CascadeRemovedEventMapper(event)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
|
@@ -2,14 +2,12 @@ package project
|
||||
|
||||
import (
|
||||
"context"
|
||||
"encoding/json"
|
||||
"time"
|
||||
|
||||
"github.com/zitadel/zitadel/internal/crypto"
|
||||
"github.com/zitadel/zitadel/internal/domain"
|
||||
"github.com/zitadel/zitadel/internal/errors"
|
||||
"github.com/zitadel/zitadel/internal/eventstore"
|
||||
"github.com/zitadel/zitadel/internal/eventstore/repository"
|
||||
)
|
||||
|
||||
const (
|
||||
@@ -43,11 +41,11 @@ type OIDCConfigAddedEvent struct {
|
||||
SkipNativeAppSuccessPage bool `json:"skipNativeAppSuccessPage,omitempty"`
|
||||
}
|
||||
|
||||
func (e *OIDCConfigAddedEvent) Data() interface{} {
|
||||
func (e *OIDCConfigAddedEvent) Payload() interface{} {
|
||||
return e
|
||||
}
|
||||
|
||||
func (e *OIDCConfigAddedEvent) UniqueConstraints() []*eventstore.EventUniqueConstraint {
|
||||
func (e *OIDCConfigAddedEvent) UniqueConstraints() []*eventstore.UniqueConstraint {
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -185,12 +183,12 @@ func (e *OIDCConfigAddedEvent) Validate(cmd eventstore.Command) bool {
|
||||
return e.SkipNativeAppSuccessPage == c.SkipNativeAppSuccessPage
|
||||
}
|
||||
|
||||
func OIDCConfigAddedEventMapper(event *repository.Event) (eventstore.Event, error) {
|
||||
func OIDCConfigAddedEventMapper(event eventstore.Event) (eventstore.Event, error) {
|
||||
e := &OIDCConfigAddedEvent{
|
||||
BaseEvent: *eventstore.BaseEventFromRepo(event),
|
||||
}
|
||||
|
||||
err := json.Unmarshal(event.Data, e)
|
||||
err := event.Unmarshal(e)
|
||||
if err != nil {
|
||||
return nil, errors.ThrowInternal(err, "OIDC-BFd15", "unable to unmarshal oidc config")
|
||||
}
|
||||
@@ -219,11 +217,11 @@ type OIDCConfigChangedEvent struct {
|
||||
SkipNativeAppSuccessPage *bool `json:"skipNativeAppSuccessPage,omitempty"`
|
||||
}
|
||||
|
||||
func (e *OIDCConfigChangedEvent) Data() interface{} {
|
||||
func (e *OIDCConfigChangedEvent) Payload() interface{} {
|
||||
return e
|
||||
}
|
||||
|
||||
func (e *OIDCConfigChangedEvent) UniqueConstraints() []*eventstore.EventUniqueConstraint {
|
||||
func (e *OIDCConfigChangedEvent) UniqueConstraints() []*eventstore.UniqueConstraint {
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -343,12 +341,12 @@ func ChangeSkipNativeAppSuccessPage(skipNativeAppSuccessPage bool) func(event *O
|
||||
}
|
||||
}
|
||||
|
||||
func OIDCConfigChangedEventMapper(event *repository.Event) (eventstore.Event, error) {
|
||||
func OIDCConfigChangedEventMapper(event eventstore.Event) (eventstore.Event, error) {
|
||||
e := &OIDCConfigChangedEvent{
|
||||
BaseEvent: *eventstore.BaseEventFromRepo(event),
|
||||
}
|
||||
|
||||
err := json.Unmarshal(event.Data, e)
|
||||
err := event.Unmarshal(e)
|
||||
if err != nil {
|
||||
return nil, errors.ThrowInternal(err, "OIDC-BFd15", "unable to unmarshal oidc config")
|
||||
}
|
||||
@@ -363,11 +361,11 @@ type OIDCConfigSecretChangedEvent struct {
|
||||
ClientSecret *crypto.CryptoValue `json:"clientSecret,omitempty"`
|
||||
}
|
||||
|
||||
func (e *OIDCConfigSecretChangedEvent) Data() interface{} {
|
||||
func (e *OIDCConfigSecretChangedEvent) Payload() interface{} {
|
||||
return e
|
||||
}
|
||||
|
||||
func (e *OIDCConfigSecretChangedEvent) UniqueConstraints() []*eventstore.EventUniqueConstraint {
|
||||
func (e *OIDCConfigSecretChangedEvent) UniqueConstraints() []*eventstore.UniqueConstraint {
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -388,12 +386,12 @@ func NewOIDCConfigSecretChangedEvent(
|
||||
}
|
||||
}
|
||||
|
||||
func OIDCConfigSecretChangedEventMapper(event *repository.Event) (eventstore.Event, error) {
|
||||
func OIDCConfigSecretChangedEventMapper(event eventstore.Event) (eventstore.Event, error) {
|
||||
e := &OIDCConfigSecretChangedEvent{
|
||||
BaseEvent: *eventstore.BaseEventFromRepo(event),
|
||||
}
|
||||
|
||||
err := json.Unmarshal(event.Data, e)
|
||||
err := event.Unmarshal(e)
|
||||
if err != nil {
|
||||
return nil, errors.ThrowInternal(err, "OIDC-M893d", "unable to unmarshal oidc config")
|
||||
}
|
||||
@@ -407,11 +405,11 @@ type OIDCConfigSecretCheckSucceededEvent struct {
|
||||
AppID string `json:"appId"`
|
||||
}
|
||||
|
||||
func (e *OIDCConfigSecretCheckSucceededEvent) Data() interface{} {
|
||||
func (e *OIDCConfigSecretCheckSucceededEvent) Payload() interface{} {
|
||||
return e
|
||||
}
|
||||
|
||||
func (e *OIDCConfigSecretCheckSucceededEvent) UniqueConstraints() []*eventstore.EventUniqueConstraint {
|
||||
func (e *OIDCConfigSecretCheckSucceededEvent) UniqueConstraints() []*eventstore.UniqueConstraint {
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -430,12 +428,12 @@ func NewOIDCConfigSecretCheckSucceededEvent(
|
||||
}
|
||||
}
|
||||
|
||||
func OIDCConfigSecretCheckSucceededEventMapper(event *repository.Event) (eventstore.Event, error) {
|
||||
func OIDCConfigSecretCheckSucceededEventMapper(event eventstore.Event) (eventstore.Event, error) {
|
||||
e := &OIDCConfigSecretCheckSucceededEvent{
|
||||
BaseEvent: *eventstore.BaseEventFromRepo(event),
|
||||
}
|
||||
|
||||
err := json.Unmarshal(event.Data, e)
|
||||
err := event.Unmarshal(e)
|
||||
if err != nil {
|
||||
return nil, errors.ThrowInternal(err, "OIDC-837gV", "unable to unmarshal oidc config")
|
||||
}
|
||||
@@ -449,11 +447,11 @@ type OIDCConfigSecretCheckFailedEvent struct {
|
||||
AppID string `json:"appId"`
|
||||
}
|
||||
|
||||
func (e *OIDCConfigSecretCheckFailedEvent) Data() interface{} {
|
||||
func (e *OIDCConfigSecretCheckFailedEvent) Payload() interface{} {
|
||||
return e
|
||||
}
|
||||
|
||||
func (e *OIDCConfigSecretCheckFailedEvent) UniqueConstraints() []*eventstore.EventUniqueConstraint {
|
||||
func (e *OIDCConfigSecretCheckFailedEvent) UniqueConstraints() []*eventstore.UniqueConstraint {
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -472,12 +470,12 @@ func NewOIDCConfigSecretCheckFailedEvent(
|
||||
}
|
||||
}
|
||||
|
||||
func OIDCConfigSecretCheckFailedEventMapper(event *repository.Event) (eventstore.Event, error) {
|
||||
func OIDCConfigSecretCheckFailedEventMapper(event eventstore.Event) (eventstore.Event, error) {
|
||||
e := &OIDCConfigSecretCheckFailedEvent{
|
||||
BaseEvent: *eventstore.BaseEventFromRepo(event),
|
||||
}
|
||||
|
||||
err := json.Unmarshal(event.Data, e)
|
||||
err := event.Unmarshal(e)
|
||||
if err != nil {
|
||||
return nil, errors.ThrowInternal(err, "OIDC-987g%", "unable to unmarshal oidc config")
|
||||
}
|
||||
|
@@ -2,13 +2,10 @@ package project
|
||||
|
||||
import (
|
||||
"context"
|
||||
"encoding/json"
|
||||
|
||||
"github.com/zitadel/zitadel/internal/domain"
|
||||
"github.com/zitadel/zitadel/internal/eventstore"
|
||||
|
||||
"github.com/zitadel/zitadel/internal/errors"
|
||||
"github.com/zitadel/zitadel/internal/eventstore/repository"
|
||||
"github.com/zitadel/zitadel/internal/eventstore"
|
||||
)
|
||||
|
||||
const (
|
||||
@@ -21,15 +18,15 @@ const (
|
||||
ProjectRemovedType = projectEventTypePrefix + "removed"
|
||||
)
|
||||
|
||||
func NewAddProjectNameUniqueConstraint(projectName, resourceOwner string) *eventstore.EventUniqueConstraint {
|
||||
func NewAddProjectNameUniqueConstraint(projectName, resourceOwner string) *eventstore.UniqueConstraint {
|
||||
return eventstore.NewAddEventUniqueConstraint(
|
||||
UniqueProjectnameType,
|
||||
projectName+resourceOwner,
|
||||
"Errors.Project.AlreadyExists")
|
||||
}
|
||||
|
||||
func NewRemoveProjectNameUniqueConstraint(projectName, resourceOwner string) *eventstore.EventUniqueConstraint {
|
||||
return eventstore.NewRemoveEventUniqueConstraint(
|
||||
func NewRemoveProjectNameUniqueConstraint(projectName, resourceOwner string) *eventstore.UniqueConstraint {
|
||||
return eventstore.NewRemoveUniqueConstraint(
|
||||
UniqueProjectnameType,
|
||||
projectName+resourceOwner)
|
||||
}
|
||||
@@ -44,12 +41,12 @@ type ProjectAddedEvent struct {
|
||||
PrivateLabelingSetting domain.PrivateLabelingSetting `json:"privateLabelingSetting,omitempty"`
|
||||
}
|
||||
|
||||
func (e *ProjectAddedEvent) Data() interface{} {
|
||||
func (e *ProjectAddedEvent) Payload() interface{} {
|
||||
return e
|
||||
}
|
||||
|
||||
func (e *ProjectAddedEvent) UniqueConstraints() []*eventstore.EventUniqueConstraint {
|
||||
return []*eventstore.EventUniqueConstraint{NewAddProjectNameUniqueConstraint(e.Name, e.Aggregate().ResourceOwner)}
|
||||
func (e *ProjectAddedEvent) UniqueConstraints() []*eventstore.UniqueConstraint {
|
||||
return []*eventstore.UniqueConstraint{NewAddProjectNameUniqueConstraint(e.Name, e.Aggregate().ResourceOwner)}
|
||||
}
|
||||
|
||||
func NewProjectAddedEvent(
|
||||
@@ -75,12 +72,12 @@ func NewProjectAddedEvent(
|
||||
}
|
||||
}
|
||||
|
||||
func ProjectAddedEventMapper(event *repository.Event) (eventstore.Event, error) {
|
||||
func ProjectAddedEventMapper(event eventstore.Event) (eventstore.Event, error) {
|
||||
e := &ProjectAddedEvent{
|
||||
BaseEvent: *eventstore.BaseEventFromRepo(event),
|
||||
}
|
||||
|
||||
err := json.Unmarshal(event.Data, e)
|
||||
err := event.Unmarshal(e)
|
||||
if err != nil {
|
||||
return nil, errors.ThrowInternal(err, "PROJECT-Bfg2f", "unable to unmarshal project")
|
||||
}
|
||||
@@ -99,13 +96,13 @@ type ProjectChangeEvent struct {
|
||||
oldName string
|
||||
}
|
||||
|
||||
func (e *ProjectChangeEvent) Data() interface{} {
|
||||
func (e *ProjectChangeEvent) Payload() interface{} {
|
||||
return e
|
||||
}
|
||||
|
||||
func (e *ProjectChangeEvent) UniqueConstraints() []*eventstore.EventUniqueConstraint {
|
||||
if e.oldName != "" {
|
||||
return []*eventstore.EventUniqueConstraint{
|
||||
func (e *ProjectChangeEvent) UniqueConstraints() []*eventstore.UniqueConstraint {
|
||||
if e.Name != nil {
|
||||
return []*eventstore.UniqueConstraint{
|
||||
NewRemoveProjectNameUniqueConstraint(e.oldName, e.Aggregate().ResourceOwner),
|
||||
NewAddProjectNameUniqueConstraint(*e.Name, e.Aggregate().ResourceOwner),
|
||||
}
|
||||
@@ -168,12 +165,12 @@ func ChangePrivateLabelingSetting(ChangePrivateLabelingSetting domain.PrivateLab
|
||||
}
|
||||
}
|
||||
|
||||
func ProjectChangeEventMapper(event *repository.Event) (eventstore.Event, error) {
|
||||
func ProjectChangeEventMapper(event eventstore.Event) (eventstore.Event, error) {
|
||||
e := &ProjectChangeEvent{
|
||||
BaseEvent: *eventstore.BaseEventFromRepo(event),
|
||||
}
|
||||
|
||||
err := json.Unmarshal(event.Data, e)
|
||||
err := event.Unmarshal(e)
|
||||
if err != nil {
|
||||
return nil, errors.ThrowInternal(err, "PROJECT-M9osd", "unable to unmarshal project")
|
||||
}
|
||||
@@ -185,11 +182,11 @@ type ProjectDeactivatedEvent struct {
|
||||
eventstore.BaseEvent `json:"-"`
|
||||
}
|
||||
|
||||
func (e *ProjectDeactivatedEvent) Data() interface{} {
|
||||
func (e *ProjectDeactivatedEvent) Payload() interface{} {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (e *ProjectDeactivatedEvent) UniqueConstraints() []*eventstore.EventUniqueConstraint {
|
||||
func (e *ProjectDeactivatedEvent) UniqueConstraints() []*eventstore.UniqueConstraint {
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -203,7 +200,7 @@ func NewProjectDeactivatedEvent(ctx context.Context, aggregate *eventstore.Aggre
|
||||
}
|
||||
}
|
||||
|
||||
func ProjectDeactivatedEventMapper(event *repository.Event) (eventstore.Event, error) {
|
||||
func ProjectDeactivatedEventMapper(event eventstore.Event) (eventstore.Event, error) {
|
||||
return &ProjectDeactivatedEvent{
|
||||
BaseEvent: *eventstore.BaseEventFromRepo(event),
|
||||
}, nil
|
||||
@@ -213,11 +210,11 @@ type ProjectReactivatedEvent struct {
|
||||
eventstore.BaseEvent `json:"-"`
|
||||
}
|
||||
|
||||
func (e *ProjectReactivatedEvent) Data() interface{} {
|
||||
func (e *ProjectReactivatedEvent) Payload() interface{} {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (e *ProjectReactivatedEvent) UniqueConstraints() []*eventstore.EventUniqueConstraint {
|
||||
func (e *ProjectReactivatedEvent) UniqueConstraints() []*eventstore.UniqueConstraint {
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -231,7 +228,7 @@ func NewProjectReactivatedEvent(ctx context.Context, aggregate *eventstore.Aggre
|
||||
}
|
||||
}
|
||||
|
||||
func ProjectReactivatedEventMapper(event *repository.Event) (eventstore.Event, error) {
|
||||
func ProjectReactivatedEventMapper(event eventstore.Event) (eventstore.Event, error) {
|
||||
return &ProjectReactivatedEvent{
|
||||
BaseEvent: *eventstore.BaseEventFromRepo(event),
|
||||
}, nil
|
||||
@@ -241,15 +238,15 @@ type ProjectRemovedEvent struct {
|
||||
eventstore.BaseEvent `json:"-"`
|
||||
|
||||
Name string
|
||||
entityIDUniqueContraints []*eventstore.EventUniqueConstraint
|
||||
entityIDUniqueContraints []*eventstore.UniqueConstraint
|
||||
}
|
||||
|
||||
func (e *ProjectRemovedEvent) Data() interface{} {
|
||||
func (e *ProjectRemovedEvent) Payload() interface{} {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (e *ProjectRemovedEvent) UniqueConstraints() []*eventstore.EventUniqueConstraint {
|
||||
constraints := []*eventstore.EventUniqueConstraint{NewRemoveProjectNameUniqueConstraint(e.Name, e.Aggregate().ResourceOwner)}
|
||||
func (e *ProjectRemovedEvent) UniqueConstraints() []*eventstore.UniqueConstraint {
|
||||
constraints := []*eventstore.UniqueConstraint{NewRemoveProjectNameUniqueConstraint(e.Name, e.Aggregate().ResourceOwner)}
|
||||
if e.entityIDUniqueContraints != nil {
|
||||
for _, constraint := range e.entityIDUniqueContraints {
|
||||
constraints = append(constraints, constraint)
|
||||
@@ -262,7 +259,7 @@ func NewProjectRemovedEvent(
|
||||
ctx context.Context,
|
||||
aggregate *eventstore.Aggregate,
|
||||
name string,
|
||||
entityIDUniqueContraints []*eventstore.EventUniqueConstraint,
|
||||
entityIDUniqueContraints []*eventstore.UniqueConstraint,
|
||||
) *ProjectRemovedEvent {
|
||||
return &ProjectRemovedEvent{
|
||||
BaseEvent: *eventstore.NewBaseEventForPush(
|
||||
@@ -275,7 +272,7 @@ func NewProjectRemovedEvent(
|
||||
}
|
||||
}
|
||||
|
||||
func ProjectRemovedEventMapper(event *repository.Event) (eventstore.Event, error) {
|
||||
func ProjectRemovedEventMapper(event eventstore.Event) (eventstore.Event, error) {
|
||||
return &ProjectRemovedEvent{
|
||||
BaseEvent: *eventstore.BaseEventFromRepo(event),
|
||||
}, nil
|
||||
|
@@ -2,13 +2,10 @@ package project
|
||||
|
||||
import (
|
||||
"context"
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
|
||||
"github.com/zitadel/zitadel/internal/eventstore"
|
||||
|
||||
"github.com/zitadel/zitadel/internal/errors"
|
||||
"github.com/zitadel/zitadel/internal/eventstore/repository"
|
||||
"github.com/zitadel/zitadel/internal/eventstore"
|
||||
)
|
||||
|
||||
var (
|
||||
@@ -19,15 +16,15 @@ var (
|
||||
RoleRemovedType = roleEventTypePrefix + "removed"
|
||||
)
|
||||
|
||||
func NewAddProjectRoleUniqueConstraint(roleKey, projectID string) *eventstore.EventUniqueConstraint {
|
||||
func NewAddProjectRoleUniqueConstraint(roleKey, projectID string) *eventstore.UniqueConstraint {
|
||||
return eventstore.NewAddEventUniqueConstraint(
|
||||
UniqueRoleType,
|
||||
fmt.Sprintf("%s:%s", roleKey, projectID),
|
||||
"Errors.Project.Role.AlreadyExists")
|
||||
}
|
||||
|
||||
func NewRemoveProjectRoleUniqueConstraint(roleKey, projectID string) *eventstore.EventUniqueConstraint {
|
||||
return eventstore.NewRemoveEventUniqueConstraint(
|
||||
func NewRemoveProjectRoleUniqueConstraint(roleKey, projectID string) *eventstore.UniqueConstraint {
|
||||
return eventstore.NewRemoveUniqueConstraint(
|
||||
UniqueRoleType,
|
||||
fmt.Sprintf("%s:%s", roleKey, projectID))
|
||||
}
|
||||
@@ -40,12 +37,12 @@ type RoleAddedEvent struct {
|
||||
Group string `json:"group,omitempty"`
|
||||
}
|
||||
|
||||
func (e *RoleAddedEvent) Data() interface{} {
|
||||
func (e *RoleAddedEvent) Payload() interface{} {
|
||||
return e
|
||||
}
|
||||
|
||||
func (e *RoleAddedEvent) UniqueConstraints() []*eventstore.EventUniqueConstraint {
|
||||
return []*eventstore.EventUniqueConstraint{NewAddProjectRoleUniqueConstraint(e.Key, e.Aggregate().ID)}
|
||||
func (e *RoleAddedEvent) UniqueConstraints() []*eventstore.UniqueConstraint {
|
||||
return []*eventstore.UniqueConstraint{NewAddProjectRoleUniqueConstraint(e.Key, e.Aggregate().ID)}
|
||||
}
|
||||
|
||||
func NewRoleAddedEvent(
|
||||
@@ -67,12 +64,12 @@ func NewRoleAddedEvent(
|
||||
}
|
||||
}
|
||||
|
||||
func RoleAddedEventMapper(event *repository.Event) (eventstore.Event, error) {
|
||||
func RoleAddedEventMapper(event eventstore.Event) (eventstore.Event, error) {
|
||||
e := &RoleAddedEvent{
|
||||
BaseEvent: *eventstore.BaseEventFromRepo(event),
|
||||
}
|
||||
|
||||
err := json.Unmarshal(event.Data, e)
|
||||
err := event.Unmarshal(e)
|
||||
if err != nil {
|
||||
return nil, errors.ThrowInternal(err, "PROJECT-2M0xy", "unable to unmarshal project role")
|
||||
}
|
||||
@@ -88,11 +85,11 @@ type RoleChangedEvent struct {
|
||||
Group *string `json:"group,omitempty"`
|
||||
}
|
||||
|
||||
func (e *RoleChangedEvent) Data() interface{} {
|
||||
func (e *RoleChangedEvent) Payload() interface{} {
|
||||
return e
|
||||
}
|
||||
|
||||
func (e *RoleChangedEvent) UniqueConstraints() []*eventstore.EventUniqueConstraint {
|
||||
func (e *RoleChangedEvent) UniqueConstraints() []*eventstore.UniqueConstraint {
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -138,12 +135,12 @@ func ChangeGroup(group string) func(event *RoleChangedEvent) {
|
||||
e.Group = &group
|
||||
}
|
||||
}
|
||||
func RoleChangedEventMapper(event *repository.Event) (eventstore.Event, error) {
|
||||
func RoleChangedEventMapper(event eventstore.Event) (eventstore.Event, error) {
|
||||
e := &RoleChangedEvent{
|
||||
BaseEvent: *eventstore.BaseEventFromRepo(event),
|
||||
}
|
||||
|
||||
err := json.Unmarshal(event.Data, e)
|
||||
err := event.Unmarshal(e)
|
||||
if err != nil {
|
||||
return nil, errors.ThrowInternal(err, "PROJECT-3M0vx", "unable to unmarshal project role")
|
||||
}
|
||||
@@ -157,12 +154,12 @@ type RoleRemovedEvent struct {
|
||||
Key string `json:"key,omitempty"`
|
||||
}
|
||||
|
||||
func (e *RoleRemovedEvent) Data() interface{} {
|
||||
func (e *RoleRemovedEvent) Payload() interface{} {
|
||||
return e
|
||||
}
|
||||
|
||||
func (e *RoleRemovedEvent) UniqueConstraints() []*eventstore.EventUniqueConstraint {
|
||||
return []*eventstore.EventUniqueConstraint{NewRemoveProjectRoleUniqueConstraint(e.Key, e.Aggregate().ID)}
|
||||
func (e *RoleRemovedEvent) UniqueConstraints() []*eventstore.UniqueConstraint {
|
||||
return []*eventstore.UniqueConstraint{NewRemoveProjectRoleUniqueConstraint(e.Key, e.Aggregate().ID)}
|
||||
}
|
||||
|
||||
func NewRoleRemovedEvent(
|
||||
@@ -179,12 +176,12 @@ func NewRoleRemovedEvent(
|
||||
}
|
||||
}
|
||||
|
||||
func RoleRemovedEventMapper(event *repository.Event) (eventstore.Event, error) {
|
||||
func RoleRemovedEventMapper(event eventstore.Event) (eventstore.Event, error) {
|
||||
e := &RoleRemovedEvent{
|
||||
BaseEvent: *eventstore.BaseEventFromRepo(event),
|
||||
}
|
||||
|
||||
err := json.Unmarshal(event.Data, e)
|
||||
err := event.Unmarshal(e)
|
||||
if err != nil {
|
||||
return nil, errors.ThrowInternal(err, "PROJECT-1M0xs", "unable to unmarshal project role")
|
||||
}
|
||||
|
@@ -2,11 +2,9 @@ package project
|
||||
|
||||
import (
|
||||
"context"
|
||||
"encoding/json"
|
||||
|
||||
"github.com/zitadel/zitadel/internal/errors"
|
||||
"github.com/zitadel/zitadel/internal/eventstore"
|
||||
"github.com/zitadel/zitadel/internal/eventstore/repository"
|
||||
)
|
||||
|
||||
const (
|
||||
@@ -24,25 +22,25 @@ type SAMLConfigAddedEvent struct {
|
||||
MetadataURL string `json:"metadata_url,omitempty"`
|
||||
}
|
||||
|
||||
func (e *SAMLConfigAddedEvent) Data() interface{} {
|
||||
func (e *SAMLConfigAddedEvent) Payload() interface{} {
|
||||
return e
|
||||
}
|
||||
|
||||
func NewAddSAMLConfigEntityIDUniqueConstraint(entityID string) *eventstore.EventUniqueConstraint {
|
||||
func NewAddSAMLConfigEntityIDUniqueConstraint(entityID string) *eventstore.UniqueConstraint {
|
||||
return eventstore.NewAddEventUniqueConstraint(
|
||||
UniqueEntityIDType,
|
||||
entityID,
|
||||
"Errors.Project.App.SAMLEntityIDAlreadyExists")
|
||||
}
|
||||
|
||||
func NewRemoveSAMLConfigEntityIDUniqueConstraint(entityID string) *eventstore.EventUniqueConstraint {
|
||||
return eventstore.NewRemoveEventUniqueConstraint(
|
||||
func NewRemoveSAMLConfigEntityIDUniqueConstraint(entityID string) *eventstore.UniqueConstraint {
|
||||
return eventstore.NewRemoveUniqueConstraint(
|
||||
UniqueEntityIDType,
|
||||
entityID)
|
||||
}
|
||||
|
||||
func (e *SAMLConfigAddedEvent) UniqueConstraints() []*eventstore.EventUniqueConstraint {
|
||||
return []*eventstore.EventUniqueConstraint{NewAddSAMLConfigEntityIDUniqueConstraint(e.EntityID)}
|
||||
func (e *SAMLConfigAddedEvent) UniqueConstraints() []*eventstore.UniqueConstraint {
|
||||
return []*eventstore.UniqueConstraint{NewAddSAMLConfigEntityIDUniqueConstraint(e.EntityID)}
|
||||
}
|
||||
|
||||
func NewSAMLConfigAddedEvent(
|
||||
@@ -66,12 +64,12 @@ func NewSAMLConfigAddedEvent(
|
||||
}
|
||||
}
|
||||
|
||||
func SAMLConfigAddedEventMapper(event *repository.Event) (eventstore.Event, error) {
|
||||
func SAMLConfigAddedEventMapper(event eventstore.Event) (eventstore.Event, error) {
|
||||
e := &SAMLConfigAddedEvent{
|
||||
BaseEvent: *eventstore.BaseEventFromRepo(event),
|
||||
}
|
||||
|
||||
err := json.Unmarshal(event.Data, e)
|
||||
err := event.Unmarshal(e)
|
||||
if err != nil {
|
||||
return nil, errors.ThrowInternal(err, "SAML-BDd15", "unable to unmarshal saml config")
|
||||
}
|
||||
@@ -89,13 +87,13 @@ type SAMLConfigChangedEvent struct {
|
||||
oldEntityID string
|
||||
}
|
||||
|
||||
func (e *SAMLConfigChangedEvent) Data() interface{} {
|
||||
func (e *SAMLConfigChangedEvent) Payload() interface{} {
|
||||
return e
|
||||
}
|
||||
|
||||
func (e *SAMLConfigChangedEvent) UniqueConstraints() []*eventstore.EventUniqueConstraint {
|
||||
func (e *SAMLConfigChangedEvent) UniqueConstraints() []*eventstore.UniqueConstraint {
|
||||
if e.EntityID != "" {
|
||||
return []*eventstore.EventUniqueConstraint{
|
||||
return []*eventstore.UniqueConstraint{
|
||||
NewRemoveSAMLConfigEntityIDUniqueConstraint(e.oldEntityID),
|
||||
NewAddSAMLConfigEntityIDUniqueConstraint(e.EntityID),
|
||||
}
|
||||
@@ -149,12 +147,12 @@ func ChangeEntityID(entityID string) func(event *SAMLConfigChangedEvent) {
|
||||
}
|
||||
}
|
||||
|
||||
func SAMLConfigChangedEventMapper(event *repository.Event) (eventstore.Event, error) {
|
||||
func SAMLConfigChangedEventMapper(event eventstore.Event) (eventstore.Event, error) {
|
||||
e := &SAMLConfigChangedEvent{
|
||||
BaseEvent: *eventstore.BaseEventFromRepo(event),
|
||||
}
|
||||
|
||||
err := json.Unmarshal(event.Data, e)
|
||||
err := event.Unmarshal(e)
|
||||
if err != nil {
|
||||
return nil, errors.ThrowInternal(err, "SAML-BFd15", "unable to unmarshal saml config")
|
||||
}
|
||||
|
Reference in New Issue
Block a user