mirror of
https://github.com/zitadel/zitadel.git
synced 2025-08-12 09:37:45 +00:00
chore: move the go code into a subfolder
This commit is contained in:
@@ -0,0 +1,23 @@
|
||||
package organization_settings
|
||||
|
||||
import "github.com/zitadel/zitadel/internal/eventstore"
|
||||
|
||||
const (
|
||||
AggregateType = "organization_settings"
|
||||
AggregateVersion = "v1"
|
||||
)
|
||||
|
||||
type Aggregate struct {
|
||||
eventstore.Aggregate
|
||||
}
|
||||
|
||||
func NewAggregate(id, resourceOwner string) *Aggregate {
|
||||
return &Aggregate{
|
||||
Aggregate: eventstore.Aggregate{
|
||||
Type: AggregateType,
|
||||
Version: AggregateVersion,
|
||||
ID: id,
|
||||
ResourceOwner: resourceOwner,
|
||||
},
|
||||
}
|
||||
}
|
@@ -0,0 +1,8 @@
|
||||
package organization_settings
|
||||
|
||||
import "github.com/zitadel/zitadel/internal/eventstore"
|
||||
|
||||
func init() {
|
||||
eventstore.RegisterFilterEventMapper(AggregateType, OrganizationSettingsSetEventType, eventstore.GenericEventMapper[OrganizationSettingsSetEvent])
|
||||
eventstore.RegisterFilterEventMapper(AggregateType, OrganizationSettingsRemovedEventType, eventstore.GenericEventMapper[OrganizationSettingsRemovedEvent])
|
||||
}
|
@@ -0,0 +1,96 @@
|
||||
package organization_settings
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/zitadel/zitadel/internal/eventstore"
|
||||
"github.com/zitadel/zitadel/internal/repository/user"
|
||||
)
|
||||
|
||||
const (
|
||||
organizationSettingsPrefix = "settings.organization."
|
||||
OrganizationSettingsSetEventType = organizationSettingsPrefix + "set"
|
||||
OrganizationSettingsRemovedEventType = organizationSettingsPrefix + "removed"
|
||||
)
|
||||
|
||||
type OrganizationSettingsSetEvent struct {
|
||||
*eventstore.BaseEvent `json:"-"`
|
||||
|
||||
OrganizationScopedUsernames bool `json:"organizationScopedUsernames,omitempty"`
|
||||
oldOrganizationScopedUsernames bool
|
||||
usernameChanges []string
|
||||
}
|
||||
|
||||
func (e *OrganizationSettingsSetEvent) SetBaseEvent(b *eventstore.BaseEvent) {
|
||||
e.BaseEvent = b
|
||||
}
|
||||
|
||||
func (e *OrganizationSettingsSetEvent) Payload() any {
|
||||
return e
|
||||
}
|
||||
|
||||
func (e *OrganizationSettingsSetEvent) UniqueConstraints() []*eventstore.UniqueConstraint {
|
||||
if len(e.usernameChanges) == 0 || e.oldOrganizationScopedUsernames == e.OrganizationScopedUsernames {
|
||||
return []*eventstore.UniqueConstraint{}
|
||||
}
|
||||
changes := make([]*eventstore.UniqueConstraint, len(e.usernameChanges)*2)
|
||||
for i, username := range e.usernameChanges {
|
||||
changes[i*2] = user.NewRemoveUsernameUniqueConstraint(username, e.Aggregate().ResourceOwner, e.oldOrganizationScopedUsernames)
|
||||
changes[i*2+1] = user.NewAddUsernameUniqueConstraint(username, e.Aggregate().ResourceOwner, e.OrganizationScopedUsernames)
|
||||
}
|
||||
return changes
|
||||
}
|
||||
|
||||
func NewOrganizationSettingsAddedEvent(
|
||||
ctx context.Context,
|
||||
aggregate *eventstore.Aggregate,
|
||||
usernameChanges []string,
|
||||
organizationScopedUsernames bool,
|
||||
oldOrganizationScopedUsernames bool,
|
||||
) *OrganizationSettingsSetEvent {
|
||||
return &OrganizationSettingsSetEvent{
|
||||
BaseEvent: eventstore.NewBaseEventForPush(
|
||||
ctx, aggregate, OrganizationSettingsSetEventType,
|
||||
),
|
||||
OrganizationScopedUsernames: organizationScopedUsernames,
|
||||
oldOrganizationScopedUsernames: oldOrganizationScopedUsernames,
|
||||
usernameChanges: usernameChanges,
|
||||
}
|
||||
}
|
||||
|
||||
type OrganizationSettingsRemovedEvent struct {
|
||||
*eventstore.BaseEvent `json:"-"`
|
||||
|
||||
organizationScopedUsernames bool
|
||||
oldOrganizationScopedUsernames bool
|
||||
usernameChanges []string
|
||||
}
|
||||
|
||||
func (e *OrganizationSettingsRemovedEvent) SetBaseEvent(b *eventstore.BaseEvent) {
|
||||
e.BaseEvent = b
|
||||
}
|
||||
|
||||
func (e *OrganizationSettingsRemovedEvent) Payload() any {
|
||||
return e
|
||||
}
|
||||
|
||||
func (e *OrganizationSettingsRemovedEvent) UniqueConstraints() []*eventstore.UniqueConstraint {
|
||||
return user.NewUsernameUniqueConstraints(e.usernameChanges, e.Aggregate().ResourceOwner, e.organizationScopedUsernames, e.oldOrganizationScopedUsernames)
|
||||
}
|
||||
|
||||
func NewOrganizationSettingsRemovedEvent(
|
||||
ctx context.Context,
|
||||
aggregate *eventstore.Aggregate,
|
||||
usernameChanges []string,
|
||||
organizationScopedUsernames bool,
|
||||
oldOrganizationScopedUsernames bool,
|
||||
) *OrganizationSettingsRemovedEvent {
|
||||
return &OrganizationSettingsRemovedEvent{
|
||||
BaseEvent: eventstore.NewBaseEventForPush(
|
||||
ctx, aggregate, OrganizationSettingsRemovedEventType,
|
||||
),
|
||||
organizationScopedUsernames: organizationScopedUsernames,
|
||||
oldOrganizationScopedUsernames: oldOrganizationScopedUsernames,
|
||||
usernameChanges: usernameChanges,
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user