iam events

This commit is contained in:
adlerhurst
2020-11-06 17:25:07 +01:00
parent f4bd5ddcbc
commit f7f810caa5
17 changed files with 496 additions and 107 deletions

View File

@@ -5,32 +5,3 @@ import "github.com/caos/zitadel/internal/eventstore/v2"
type Aggregate struct {
eventstore.Aggregate
}
type Step int8
type SetupStepEvent struct {
eventstore.BaseEvent `json:"-"`
Step Step
//Done if the setup is started earlier
Done bool `json:"-"`
}
func (e *SetupStepEvent) CheckPrevious() bool {
return e.Type() == "iam.setup.started"
}
//Type implements event
func (e *SetupStepEvent) Type() eventstore.EventType {
if e.Done {
return "iam.setup.done"
}
return "iam.setup.started"
}
func (e *SetupStepEvent) Data() interface{} {
return e
}
type MemberAddedEvent struct {
}

View File

@@ -0,0 +1,36 @@
package iam
import (
"context"
"github.com/caos/zitadel/internal/eventstore/v2"
)
const (
GlobalOrgSetEventType eventstore.EventType = "iam.global.org.set"
)
type GlobalOrgSetEvent struct {
eventstore.BaseEvent `json:"-"`
OrgID string `json:"globalOrgId"`
}
func (e *GlobalOrgSetEvent) CheckPrevious() bool {
return true
}
func (e *GlobalOrgSetEvent) Data() interface{} {
return e
}
func NewGlobalOrgSetEventEvent(ctx context.Context, service, orgID string) *GlobalOrgSetEvent {
return &GlobalOrgSetEvent{
BaseEvent: *eventstore.NewBaseEventForPush(
ctx,
service,
GlobalOrgSetEventType,
),
OrgID: orgID,
}
}

View File

@@ -0,0 +1,36 @@
package iam
import (
"context"
"github.com/caos/zitadel/internal/eventstore/v2"
)
const (
IAMProjectSetEventType eventstore.EventType = "iam.project.iam.set"
)
type IAMProjectSetEvent struct {
eventstore.BaseEvent `json:"-"`
ProjectID string `json:"iamProjectId"`
}
func (e *IAMProjectSetEvent) CheckPrevious() bool {
return e.Type() == SetupStartedEventType
}
func (e *IAMProjectSetEvent) Data() interface{} {
return e
}
func NewIAMProjectSetEvent(ctx context.Context, service, projectID string) *IAMProjectSetEvent {
return &IAMProjectSetEvent{
BaseEvent: *eventstore.NewBaseEventForPush(
ctx,
service,
SetupDoneEventType,
),
ProjectID: projectID,
}
}

View File

@@ -0,0 +1,48 @@
package iam
import (
"context"
"github.com/caos/zitadel/internal/eventstore/v2"
)
const (
SetupDoneEventType eventstore.EventType = "iam.setup.done"
SetupStartedEventType eventstore.EventType = "iam.setup.started"
)
type Step int8
type SetupStepEvent struct {
eventstore.BaseEvent `json:"-"`
Step Step `json:"Step"`
}
func (e *SetupStepEvent) CheckPrevious() bool {
return e.Type() == SetupStartedEventType
}
func (e *SetupStepEvent) Data() interface{} {
return e
}
func NewSetupStepDoneEvent(ctx context.Context, service string) *SetupStepEvent {
return &SetupStepEvent{
BaseEvent: *eventstore.NewBaseEventForPush(
ctx,
service,
SetupDoneEventType,
),
}
}
func NewSetupStepStartedEvent(ctx context.Context, service string) *SetupStepEvent {
return &SetupStepEvent{
BaseEvent: *eventstore.NewBaseEventForPush(
ctx,
service,
SetupStartedEventType,
),
}
}