mirror of
https://github.com/zitadel/zitadel.git
synced 2025-12-02 19:22:25 +00:00
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.
140 lines
3.7 KiB
Go
140 lines
3.7 KiB
Go
package org
|
|
|
|
import (
|
|
"context"
|
|
|
|
"github.com/zitadel/zitadel/internal/domain"
|
|
"github.com/zitadel/zitadel/internal/eventstore"
|
|
"github.com/zitadel/zitadel/internal/repository/policy"
|
|
)
|
|
|
|
var (
|
|
LoginPolicySecondFactorAddedEventType = orgEventTypePrefix + policy.LoginPolicySecondFactorAddedEventType
|
|
LoginPolicySecondFactorRemovedEventType = orgEventTypePrefix + policy.LoginPolicySecondFactorRemovedEventType
|
|
|
|
LoginPolicyMultiFactorAddedEventType = orgEventTypePrefix + policy.LoginPolicyMultiFactorAddedEventType
|
|
LoginPolicyMultiFactorRemovedEventType = orgEventTypePrefix + policy.LoginPolicyMultiFactorRemovedEventType
|
|
)
|
|
|
|
type LoginPolicySecondFactorAddedEvent struct {
|
|
policy.SecondFactorAddedEvent
|
|
}
|
|
|
|
func NewLoginPolicySecondFactorAddedEvent(
|
|
ctx context.Context,
|
|
aggregate *eventstore.Aggregate,
|
|
mfaType domain.SecondFactorType,
|
|
) *LoginPolicySecondFactorAddedEvent {
|
|
return &LoginPolicySecondFactorAddedEvent{
|
|
SecondFactorAddedEvent: *policy.NewSecondFactorAddedEvent(
|
|
eventstore.NewBaseEventForPush(
|
|
ctx,
|
|
aggregate,
|
|
LoginPolicySecondFactorAddedEventType),
|
|
mfaType),
|
|
}
|
|
}
|
|
|
|
func SecondFactorAddedEventEventMapper(event eventstore.Event) (eventstore.Event, error) {
|
|
e, err := policy.SecondFactorAddedEventMapper(event)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
return &LoginPolicySecondFactorAddedEvent{
|
|
SecondFactorAddedEvent: *e.(*policy.SecondFactorAddedEvent),
|
|
}, nil
|
|
}
|
|
|
|
type LoginPolicySecondFactorRemovedEvent struct {
|
|
policy.SecondFactorRemovedEvent
|
|
}
|
|
|
|
func NewLoginPolicySecondFactorRemovedEvent(
|
|
ctx context.Context,
|
|
aggregate *eventstore.Aggregate,
|
|
mfaType domain.SecondFactorType,
|
|
) *LoginPolicySecondFactorRemovedEvent {
|
|
|
|
return &LoginPolicySecondFactorRemovedEvent{
|
|
SecondFactorRemovedEvent: *policy.NewSecondFactorRemovedEvent(
|
|
eventstore.NewBaseEventForPush(
|
|
ctx,
|
|
aggregate,
|
|
LoginPolicySecondFactorRemovedEventType),
|
|
mfaType),
|
|
}
|
|
}
|
|
|
|
func SecondFactorRemovedEventEventMapper(event eventstore.Event) (eventstore.Event, error) {
|
|
e, err := policy.SecondFactorRemovedEventMapper(event)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
return &LoginPolicySecondFactorRemovedEvent{
|
|
SecondFactorRemovedEvent: *e.(*policy.SecondFactorRemovedEvent),
|
|
}, nil
|
|
}
|
|
|
|
type LoginPolicyMultiFactorAddedEvent struct {
|
|
policy.MultiFactorAddedEvent
|
|
}
|
|
|
|
func NewLoginPolicyMultiFactorAddedEvent(
|
|
ctx context.Context,
|
|
aggregate *eventstore.Aggregate,
|
|
mfaType domain.MultiFactorType,
|
|
) *LoginPolicyMultiFactorAddedEvent {
|
|
return &LoginPolicyMultiFactorAddedEvent{
|
|
MultiFactorAddedEvent: *policy.NewMultiFactorAddedEvent(
|
|
eventstore.NewBaseEventForPush(
|
|
ctx,
|
|
aggregate,
|
|
LoginPolicyMultiFactorAddedEventType),
|
|
mfaType),
|
|
}
|
|
}
|
|
|
|
func MultiFactorAddedEventEventMapper(event eventstore.Event) (eventstore.Event, error) {
|
|
e, err := policy.MultiFactorAddedEventMapper(event)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
return &LoginPolicyMultiFactorAddedEvent{
|
|
MultiFactorAddedEvent: *e.(*policy.MultiFactorAddedEvent),
|
|
}, nil
|
|
}
|
|
|
|
type LoginPolicyMultiFactorRemovedEvent struct {
|
|
policy.MultiFactorRemovedEvent
|
|
}
|
|
|
|
func NewLoginPolicyMultiFactorRemovedEvent(
|
|
ctx context.Context,
|
|
aggregate *eventstore.Aggregate,
|
|
mfaType domain.MultiFactorType,
|
|
) *LoginPolicyMultiFactorRemovedEvent {
|
|
|
|
return &LoginPolicyMultiFactorRemovedEvent{
|
|
MultiFactorRemovedEvent: *policy.NewMultiFactorRemovedEvent(
|
|
eventstore.NewBaseEventForPush(
|
|
ctx,
|
|
aggregate,
|
|
LoginPolicyMultiFactorRemovedEventType),
|
|
mfaType),
|
|
}
|
|
}
|
|
|
|
func MultiFactorRemovedEventEventMapper(event eventstore.Event) (eventstore.Event, error) {
|
|
e, err := policy.MultiFactorRemovedEventMapper(event)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
return &LoginPolicyMultiFactorRemovedEvent{
|
|
MultiFactorRemovedEvent: *e.(*policy.MultiFactorRemovedEvent),
|
|
}, nil
|
|
}
|