feat: migrate unique constraints v1 to v2 (#1274)

* fix: unique migration

* fix: unique migration

* fix: remove migrations

* fix: member events
This commit is contained in:
Fabi
2021-02-15 13:31:24 +01:00
committed by GitHub
parent 3bc3ef1f2c
commit ee86eb4399
47 changed files with 630 additions and 173 deletions

View File

@@ -12,7 +12,7 @@ import (
)
const (
uniqueOrgDomain = "org_domain"
UniqueOrgDomain = "org_domain"
domainEventPrefix = orgEventTypePrefix + "domain."
OrgDomainAddedEventType = domainEventPrefix + "added"
OrgDomainVerificationAddedEventType = domainEventPrefix + "verification.added"
@@ -24,14 +24,14 @@ const (
func NewAddOrgDomainUniqueConstraint(orgDomain string) *eventstore.EventUniqueConstraint {
return eventstore.NewAddEventUniqueConstraint(
uniqueOrgDomain,
UniqueOrgDomain,
orgDomain,
"Errors.Org.Domain.AlreadyExists")
}
func NewRemoveOrgDomainUniqueConstraint(orgDomain string) *eventstore.EventUniqueConstraint {
return eventstore.NewRemoveEventUniqueConstraint(
uniqueOrgDomain,
UniqueOrgDomain,
orgDomain)
}
@@ -84,7 +84,7 @@ func (e *DomainVerificationAddedEvent) Data() interface{} {
}
func (e *DomainVerificationAddedEvent) UniqueConstraints() []*eventstore.EventUniqueConstraint {
return []*eventstore.EventUniqueConstraint{NewAddOrgDomainUniqueConstraint(e.Domain)}
return nil
}
func NewDomainVerificationAddedEvent(
@@ -162,7 +162,7 @@ func (e *DomainVerifiedEvent) Data() interface{} {
}
func (e *DomainVerifiedEvent) UniqueConstraints() []*eventstore.EventUniqueConstraint {
return nil
return []*eventstore.EventUniqueConstraint{NewAddOrgDomainUniqueConstraint(e.Domain)}
}
func NewDomainVerifiedEvent(ctx context.Context, domain string) *DomainVerifiedEvent {

View File

@@ -49,5 +49,12 @@ func RegisterEventMappers(es *eventstore.Eventstore) {
RegisterFilterEventMapper(MailTemplateRemovedEventType, MailTemplateRemovedEventMapper).
RegisterFilterEventMapper(MailTextAddedEventType, MailTextAddedEventMapper).
RegisterFilterEventMapper(MailTextChangedEventType, MailTextChangedEventMapper).
RegisterFilterEventMapper(MailTextRemovedEventType, MailTextRemovedEventMapper)
RegisterFilterEventMapper(MailTextRemovedEventType, MailTextRemovedEventMapper).
RegisterFilterEventMapper(IDPConfigAddedEventType, IDPConfigAddedEventMapper).
RegisterFilterEventMapper(IDPConfigChangedEventType, IDPConfigChangedEventMapper).
RegisterFilterEventMapper(IDPConfigRemovedEventType, IDPConfigRemovedEventMapper).
RegisterFilterEventMapper(IDPConfigDeactivatedEventType, IDPConfigDeactivatedEventMapper).
RegisterFilterEventMapper(IDPConfigReactivatedEventType, IDPConfigReactivatedEventMapper).
RegisterFilterEventMapper(IDPOIDCConfigAddedEventType, IDPOIDCConfigAddedEventMapper).
RegisterFilterEventMapper(IDPOIDCConfigChangedEventType, IDPOIDCConfigChangedEventMapper)
}

View File

@@ -59,12 +59,15 @@ type IDPConfigChangedEvent struct {
func NewIDPConfigChangedEvent(
ctx context.Context,
configID string,
resourceOwner,
configID,
oldName string,
changes []idpconfig.IDPConfigChanges,
) (*IDPConfigChangedEvent, error) {
changeEvent, err := idpconfig.NewIDPConfigChangedEvent(
eventstore.NewBaseEventForPush(ctx, IDPConfigChangedEventType),
eventstore.NewBaseEventForPushWithResourceOwner(ctx, IDPConfigChangedEventType, resourceOwner),
configID,
oldName,
changes,
)
if err != nil {

View File

@@ -19,6 +19,7 @@ type MemberAddedEvent struct {
func NewMemberAddedEvent(
ctx context.Context,
aggregateID,
userID string,
roles ...string,
) *MemberAddedEvent {
@@ -28,6 +29,7 @@ func NewMemberAddedEvent(
ctx,
MemberAddedEventType,
),
aggregateID,
userID,
roles...,
),
@@ -80,6 +82,7 @@ type MemberRemovedEvent struct {
func NewMemberRemovedEvent(
ctx context.Context,
aggregateID,
userID string,
) *MemberRemovedEvent {
@@ -89,6 +92,7 @@ func NewMemberRemovedEvent(
ctx,
MemberRemovedEventType,
),
aggregateID,
userID,
),
}

View File

@@ -70,7 +70,8 @@ func OrgAddedEventMapper(event *repository.Event) (eventstore.EventReader, error
type OrgChangedEvent struct {
eventstore.BaseEvent `json:"-"`
Name string `json:"name,omitempty"`
Name string `json:"name,omitempty"`
oldName string `json:"-"`
}
func (e *OrgChangedEvent) Data() interface{} {
@@ -78,16 +79,20 @@ func (e *OrgChangedEvent) Data() interface{} {
}
func (e *OrgChangedEvent) UniqueConstraints() []*eventstore.EventUniqueConstraint {
return nil
return []*eventstore.EventUniqueConstraint{
NewRemoveOrgDomainUniqueConstraint(e.oldName),
NewAddOrgNameUniqueConstraint(e.Name),
}
}
func NewOrgChangedEvent(ctx context.Context, name string) *OrgChangedEvent {
func NewOrgChangedEvent(ctx context.Context, oldName, newName string) *OrgChangedEvent {
return &OrgChangedEvent{
BaseEvent: *eventstore.NewBaseEventForPush(
ctx,
OrgChangedEventType,
),
Name: name,
Name: newName,
oldName: oldName,
}
}