mirror of
https://github.com/zitadel/zitadel.git
synced 2025-08-11 21:37:32 +00:00
feat(org): add org metadata functionality (#4234)
* feat(org): add org metadata functionality * fix(metadata): add unit tests and review for org metadata * fix(org-metadata): move endpoints to / Co-authored-by: Fabi <38692350+hifabienne@users.noreply.github.com>
This commit is contained in:
@@ -79,5 +79,8 @@ func RegisterEventMappers(es *eventstore.Eventstore) {
|
||||
RegisterFilterEventMapper(IDPJWTConfigChangedEventType, IDPJWTConfigChangedEventMapper).
|
||||
RegisterFilterEventMapper(TriggerActionsSetEventType, TriggerActionsSetEventMapper).
|
||||
RegisterFilterEventMapper(TriggerActionsCascadeRemovedEventType, TriggerActionsCascadeRemovedEventMapper).
|
||||
RegisterFilterEventMapper(FlowClearedEventType, FlowClearedEventMapper)
|
||||
RegisterFilterEventMapper(FlowClearedEventType, FlowClearedEventMapper).
|
||||
RegisterFilterEventMapper(MetadataSetType, MetadataSetEventMapper).
|
||||
RegisterFilterEventMapper(MetadataRemovedType, MetadataRemovedEventMapper).
|
||||
RegisterFilterEventMapper(MetadataRemovedAllType, MetadataRemovedAllEventMapper)
|
||||
}
|
||||
|
88
internal/repository/org/metadata.go
Normal file
88
internal/repository/org/metadata.go
Normal file
@@ -0,0 +1,88 @@
|
||||
package org
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/zitadel/zitadel/internal/eventstore"
|
||||
"github.com/zitadel/zitadel/internal/eventstore/repository"
|
||||
"github.com/zitadel/zitadel/internal/repository/metadata"
|
||||
)
|
||||
|
||||
const (
|
||||
MetadataSetType = orgEventTypePrefix + metadata.SetEventType
|
||||
MetadataRemovedType = orgEventTypePrefix + metadata.RemovedEventType
|
||||
MetadataRemovedAllType = orgEventTypePrefix + metadata.RemovedAllEventType
|
||||
)
|
||||
|
||||
type MetadataSetEvent struct {
|
||||
metadata.SetEvent
|
||||
}
|
||||
|
||||
func NewMetadataSetEvent(ctx context.Context, aggregate *eventstore.Aggregate, key string, value []byte) *MetadataSetEvent {
|
||||
return &MetadataSetEvent{
|
||||
SetEvent: *metadata.NewSetEvent(
|
||||
eventstore.NewBaseEventForPush(
|
||||
ctx,
|
||||
aggregate,
|
||||
MetadataSetType),
|
||||
key,
|
||||
value),
|
||||
}
|
||||
}
|
||||
|
||||
func MetadataSetEventMapper(event *repository.Event) (eventstore.Event, error) {
|
||||
e, err := metadata.SetEventMapper(event)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &MetadataSetEvent{SetEvent: *e.(*metadata.SetEvent)}, nil
|
||||
}
|
||||
|
||||
type MetadataRemovedEvent struct {
|
||||
metadata.RemovedEvent
|
||||
}
|
||||
|
||||
func NewMetadataRemovedEvent(ctx context.Context, aggregate *eventstore.Aggregate, key string) *MetadataRemovedEvent {
|
||||
return &MetadataRemovedEvent{
|
||||
RemovedEvent: *metadata.NewRemovedEvent(
|
||||
eventstore.NewBaseEventForPush(
|
||||
ctx,
|
||||
aggregate,
|
||||
MetadataRemovedType),
|
||||
key),
|
||||
}
|
||||
}
|
||||
|
||||
func MetadataRemovedEventMapper(event *repository.Event) (eventstore.Event, error) {
|
||||
e, err := metadata.RemovedEventMapper(event)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &MetadataRemovedEvent{RemovedEvent: *e.(*metadata.RemovedEvent)}, nil
|
||||
}
|
||||
|
||||
type MetadataRemovedAllEvent struct {
|
||||
metadata.RemovedAllEvent
|
||||
}
|
||||
|
||||
func NewMetadataRemovedAllEvent(ctx context.Context, aggregate *eventstore.Aggregate) *MetadataRemovedAllEvent {
|
||||
return &MetadataRemovedAllEvent{
|
||||
RemovedAllEvent: *metadata.NewRemovedAllEvent(
|
||||
eventstore.NewBaseEventForPush(
|
||||
ctx,
|
||||
aggregate,
|
||||
MetadataRemovedAllType),
|
||||
),
|
||||
}
|
||||
}
|
||||
|
||||
func MetadataRemovedAllEventMapper(event *repository.Event) (eventstore.Event, error) {
|
||||
e, err := metadata.RemovedAllEventMapper(event)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &MetadataRemovedAllEvent{RemovedAllEvent: *e.(*metadata.RemovedAllEvent)}, nil
|
||||
}
|
@@ -191,13 +191,7 @@ func NewOrgRemovedEvent(ctx context.Context, aggregate *eventstore.Aggregate, na
|
||||
}
|
||||
|
||||
func OrgRemovedEventMapper(event *repository.Event) (eventstore.Event, error) {
|
||||
orgChanged := &OrgRemovedEvent{
|
||||
return &OrgRemovedEvent{
|
||||
BaseEvent: *eventstore.BaseEventFromRepo(event),
|
||||
}
|
||||
err := json.Unmarshal(event.Data, orgChanged)
|
||||
if err != nil {
|
||||
return nil, errors.ThrowInternal(err, "ORG-DAfbs", "unable to unmarshal org deactivated")
|
||||
}
|
||||
|
||||
return orgChanged, nil
|
||||
}, nil
|
||||
}
|
||||
|
Reference in New Issue
Block a user