zitadel/internal/v2/repository/iam/member.go

105 lines
2.2 KiB
Go
Raw Normal View History

2020-11-11 16:51:44 +00:00
package iam
import (
"context"
"github.com/caos/zitadel/internal/eventstore/v2"
"github.com/caos/zitadel/internal/eventstore/v2/repository"
2020-11-11 16:51:44 +00:00
"github.com/caos/zitadel/internal/v2/repository/member"
)
var (
MemberAddedEventType = iamEventTypePrefix + member.AddedEventType
MemberChangedEventType = iamEventTypePrefix + member.ChangedEventType
MemberRemovedEventType = iamEventTypePrefix + member.RemovedEventType
2020-11-11 16:51:44 +00:00
)
type MemberAddedEvent struct {
member.MemberAddedEvent
2020-11-11 16:51:44 +00:00
}
func NewMemberAddedEvent(
ctx context.Context,
userID string,
roles ...string,
) *MemberAddedEvent {
return &MemberAddedEvent{
MemberAddedEvent: *member.NewMemberAddedEvent(
2020-11-11 16:51:44 +00:00
eventstore.NewBaseEventForPush(
ctx,
MemberAddedEventType,
),
userID,
roles...,
),
}
}
func MemberAddedEventMapper(event *repository.Event) (eventstore.EventReader, error) {
e, err := member.MemberAddedEventMapper(event)
if err != nil {
return nil, err
}
return &MemberAddedEvent{MemberAddedEvent: *e.(*member.MemberAddedEvent)}, nil
}
2020-11-25 13:12:44 +00:00
type MemberChangedEvent struct {
member.MemberChangedEvent
2020-11-25 13:12:44 +00:00
}
func NewMemberChangedEvent(
2020-11-11 16:51:44 +00:00
ctx context.Context,
userID string,
2020-11-23 18:31:12 +00:00
roles ...string,
) *MemberChangedEvent {
return &MemberChangedEvent{
MemberChangedEvent: *member.NewMemberChangedEvent(
eventstore.NewBaseEventForPush(
ctx,
MemberChangedEventType,
),
userID,
roles...,
2020-11-11 16:51:44 +00:00
),
}
}
func MemberChangedEventMapper(event *repository.Event) (eventstore.EventReader, error) {
e, err := member.ChangedEventMapper(event)
if err != nil {
return nil, err
2020-11-23 18:31:12 +00:00
}
return &MemberChangedEvent{MemberChangedEvent: *e.(*member.MemberChangedEvent)}, nil
2020-11-23 18:31:12 +00:00
}
2020-11-25 13:12:44 +00:00
type MemberRemovedEvent struct {
member.MemberRemovedEvent
2020-11-25 13:12:44 +00:00
}
2020-11-11 16:51:44 +00:00
func NewMemberRemovedEvent(
ctx context.Context,
userID string,
) *MemberRemovedEvent {
return &MemberRemovedEvent{
MemberRemovedEvent: *member.NewRemovedEvent(
2020-11-11 16:51:44 +00:00
eventstore.NewBaseEventForPush(
ctx,
MemberRemovedEventType,
),
userID,
),
}
}
func MemberRemovedEventMapper(event *repository.Event) (eventstore.EventReader, error) {
e, err := member.RemovedEventMapper(event)
if err != nil {
return nil, err
}
return &MemberRemovedEvent{MemberRemovedEvent: *e.(*member.MemberRemovedEvent)}, nil
}