feat: project view (#90)

* init for views (spooler, handler)

* init for views (spooler, handler)

* start view in management

* granted project

* implement granted project view

* search granted projects

* fix search column

* update all projects on project change

* search roles

* filter org

* project members

* project grant members

* fix tests

* application view

* project grant search

* mock

* test appendevents

* test appendevents

* Update internal/view/query.go

Co-authored-by: Livio Amstutz <livio.a@gmail.com>

* Update internal/eventstore/spooler/spooler.go

Co-authored-by: Livio Amstutz <livio.a@gmail.com>

* Update internal/view/query.go

Co-authored-by: Livio Amstutz <livio.a@gmail.com>

* merge request changes

* Update internal/project/repository/view/model/application.go

Co-authored-by: Livio Amstutz <livio.a@gmail.com>

* merge request changes

* Project view sql (#92)

* sql and configs

* error handling

* sql start in eventstore

* on error handling, config

* read user on members

* Update internal/project/repository/view/application_view.go

Co-authored-by: Silvan <silvan.reusser@gmail.com>

* Update internal/project/repository/view/model/application.go

Co-authored-by: Silvan <silvan.reusser@gmail.com>

* Update internal/project/repository/view/model/application.go

Co-authored-by: Silvan <silvan.reusser@gmail.com>

* Update internal/project/repository/view/model/application.go

Co-authored-by: Silvan <silvan.reusser@gmail.com>

* Update internal/project/repository/view/model/application.go

Co-authored-by: Silvan <silvan.reusser@gmail.com>

* Update internal/project/repository/view/model/application.go

Co-authored-by: Silvan <silvan.reusser@gmail.com>

* Update internal/project/repository/view/model/application_query.go

Co-authored-by: Silvan <silvan.reusser@gmail.com>

* Update pkg/management/api/grpc/project_grant_converter.go

Co-authored-by: Silvan <silvan.reusser@gmail.com>

* Update pkg/management/api/grpc/project_grant_member_converter.go

Co-authored-by: Silvan <silvan.reusser@gmail.com>

* Update pkg/management/api/grpc/project_grant_member_converter.go

Co-authored-by: Silvan <silvan.reusser@gmail.com>

* Update pkg/management/api/grpc/project_member_converter.go

Co-authored-by: Silvan <silvan.reusser@gmail.com>

* Update pkg/management/api/grpc/project_member_converter.go

Co-authored-by: Silvan <silvan.reusser@gmail.com>

* Update internal/project/repository/view/model/granted_project.go

Co-authored-by: Silvan <silvan.reusser@gmail.com>

* return caos errors

* Update internal/project/repository/view/model/granted_project_query.go

Co-authored-by: Silvan <silvan.reusser@gmail.com>

* Update internal/project/repository/view/model/project_grant_member.go

Co-authored-by: Silvan <silvan.reusser@gmail.com>

* Update internal/project/repository/view/model/project_grant_member_query.go

Co-authored-by: Silvan <silvan.reusser@gmail.com>

* Update internal/project/repository/view/model/project_member.go

Co-authored-by: Silvan <silvan.reusser@gmail.com>

* Update internal/project/repository/view/model/project_member_query.go

Co-authored-by: Silvan <silvan.reusser@gmail.com>

* Update internal/project/repository/view/model/project_role.go

Co-authored-by: Silvan <silvan.reusser@gmail.com>

* Update internal/project/repository/view/model/project_role_query.go

Co-authored-by: Silvan <silvan.reusser@gmail.com>

* Update pkg/management/api/grpc/application_converter.go

Co-authored-by: Silvan <silvan.reusser@gmail.com>

* Update pkg/management/api/grpc/application_converter.go

Co-authored-by: Silvan <silvan.reusser@gmail.com>

* Update pkg/management/api/grpc/project_converter.go

Co-authored-by: Silvan <silvan.reusser@gmail.com>

* Update pkg/management/api/grpc/project_converter.go

Co-authored-by: Silvan <silvan.reusser@gmail.com>

* Update pkg/management/api/grpc/project_converter.go

Co-authored-by: Silvan <silvan.reusser@gmail.com>

* Update pkg/management/api/grpc/project_converter.go

Co-authored-by: Silvan <silvan.reusser@gmail.com>

* converter fix

Co-authored-by: Livio Amstutz <livio.a@gmail.com>
Co-authored-by: Silvan <silvan.reusser@gmail.com>
This commit is contained in:
Fabi
2020-05-11 12:16:29 +02:00
committed by GitHub
parent 49d86fdabb
commit 6e105f662e
92 changed files with 8354 additions and 3423 deletions

View File

@@ -50,7 +50,7 @@ func GetMockPwGenerator(ctrl *gomock.Controller) crypto.Generator {
func GetMockProjectByIDOK(ctrl *gomock.Controller) *ProjectEventstore {
data, _ := json.Marshal(model.Project{Name: "Name"})
events := []*es_models.Event{
&es_models.Event{AggregateID: "AggregateID", Sequence: 1, Type: proj_model.ProjectAdded, Data: data},
&es_models.Event{AggregateID: "AggregateID", Sequence: 1, Type: model.ProjectAdded, Data: data},
}
mockEs := mock.NewMockEventstore(ctrl)
mockEs.EXPECT().FilterEvents(gomock.Any(), gomock.Any()).Return(events, nil)
@@ -67,7 +67,7 @@ func GetMockProjectByIDNoEvents(ctrl *gomock.Controller) *ProjectEventstore {
func GetMockManipulateProject(ctrl *gomock.Controller) *ProjectEventstore {
data, _ := json.Marshal(model.Project{Name: "Name"})
events := []*es_models.Event{
&es_models.Event{AggregateID: "AggregateID", Sequence: 1, Type: proj_model.ProjectAdded, Data: data},
&es_models.Event{AggregateID: "AggregateID", Sequence: 1, Type: model.ProjectAdded, Data: data},
}
mockEs := mock.NewMockEventstore(ctrl)
mockEs.EXPECT().FilterEvents(gomock.Any(), gomock.Any()).Return(events, nil)
@@ -79,7 +79,7 @@ func GetMockManipulateProject(ctrl *gomock.Controller) *ProjectEventstore {
func GetMockManipulateProjectWithPw(ctrl *gomock.Controller) *ProjectEventstore {
data, _ := json.Marshal(model.Project{Name: "Name"})
events := []*es_models.Event{
&es_models.Event{AggregateID: "AggregateID", Sequence: 1, Type: proj_model.ProjectAdded, Data: data},
&es_models.Event{AggregateID: "AggregateID", Sequence: 1, Type: model.ProjectAdded, Data: data},
}
mockEs := mock.NewMockEventstore(ctrl)
mockEs.EXPECT().FilterEvents(gomock.Any(), gomock.Any()).Return(events, nil)
@@ -91,8 +91,8 @@ func GetMockManipulateProjectWithPw(ctrl *gomock.Controller) *ProjectEventstore
func GetMockManipulateInactiveProject(ctrl *gomock.Controller) *ProjectEventstore {
data, _ := json.Marshal(model.Project{Name: "Name"})
events := []*es_models.Event{
&es_models.Event{AggregateID: "AggregateID", Sequence: 1, Type: proj_model.ProjectAdded, Data: data},
&es_models.Event{AggregateID: "AggregateID", Sequence: 2, Type: proj_model.ProjectDeactivated, Data: data},
&es_models.Event{AggregateID: "AggregateID", Sequence: 1, Type: model.ProjectAdded, Data: data},
&es_models.Event{AggregateID: "AggregateID", Sequence: 2, Type: model.ProjectDeactivated, Data: data},
}
mockEs := mock.NewMockEventstore(ctrl)
mockEs.EXPECT().FilterEvents(gomock.Any(), gomock.Any()).Return(events, nil)
@@ -105,8 +105,8 @@ func GetMockManipulateProjectWithMember(ctrl *gomock.Controller) *ProjectEventst
data, _ := json.Marshal(model.Project{Name: "Name"})
memberData, _ := json.Marshal(model.ProjectMember{UserID: "UserID", Roles: []string{"Role"}})
events := []*es_models.Event{
&es_models.Event{AggregateID: "AggregateID", Sequence: 1, Type: proj_model.ProjectAdded, Data: data},
&es_models.Event{AggregateID: "AggregateID", Sequence: 1, Type: proj_model.ProjectMemberAdded, Data: memberData},
&es_models.Event{AggregateID: "AggregateID", Sequence: 1, Type: model.ProjectAdded, Data: data},
&es_models.Event{AggregateID: "AggregateID", Sequence: 1, Type: model.ProjectMemberAdded, Data: memberData},
}
mockEs := mock.NewMockEventstore(ctrl)
mockEs.EXPECT().FilterEvents(gomock.Any(), gomock.Any()).Return(events, nil)
@@ -119,8 +119,8 @@ func GetMockManipulateProjectWithRole(ctrl *gomock.Controller) *ProjectEventstor
data, _ := json.Marshal(model.Project{Name: "Name"})
roleData, _ := json.Marshal(model.ProjectRole{Key: "Key", DisplayName: "DisplayName", Group: "Group"})
events := []*es_models.Event{
&es_models.Event{AggregateID: "AggregateID", Sequence: 1, Type: proj_model.ProjectAdded, Data: data},
&es_models.Event{AggregateID: "AggregateID", Sequence: 1, Type: proj_model.ProjectRoleAdded, Data: roleData},
&es_models.Event{AggregateID: "AggregateID", Sequence: 1, Type: model.ProjectAdded, Data: data},
&es_models.Event{AggregateID: "AggregateID", Sequence: 1, Type: model.ProjectRoleAdded, Data: roleData},
}
mockEs := mock.NewMockEventstore(ctrl)
mockEs.EXPECT().FilterEvents(gomock.Any(), gomock.Any()).Return(events, nil)
@@ -138,9 +138,9 @@ func GetMockManipulateProjectWithOIDCApp(ctrl *gomock.Controller) *ProjectEvents
GrantTypes: []int32{int32(proj_model.OIDCGRANTTYPE_AUTHORIZATION_CODE)},
})
events := []*es_models.Event{
&es_models.Event{AggregateID: "AggregateID", Sequence: 1, Type: proj_model.ProjectAdded, Data: data},
&es_models.Event{AggregateID: "AggregateID", Sequence: 1, Type: proj_model.ApplicationAdded, Data: appData},
&es_models.Event{AggregateID: "AggregateID", Sequence: 1, Type: proj_model.OIDCConfigAdded, Data: oidcData},
&es_models.Event{AggregateID: "AggregateID", Sequence: 1, Type: model.ProjectAdded, Data: data},
&es_models.Event{AggregateID: "AggregateID", Sequence: 1, Type: model.ApplicationAdded, Data: appData},
&es_models.Event{AggregateID: "AggregateID", Sequence: 1, Type: model.OIDCConfigAdded, Data: oidcData},
}
mockEs := mock.NewMockEventstore(ctrl)
mockEs.EXPECT().FilterEvents(gomock.Any(), gomock.Any()).Return(events, nil)
@@ -154,8 +154,8 @@ func GetMockManipulateProjectWithSAMLApp(ctrl *gomock.Controller) *ProjectEvents
appData, _ := json.Marshal(model.Application{AppID: "AppID", Name: "Name"})
events := []*es_models.Event{
&es_models.Event{AggregateID: "AggregateID", Sequence: 1, Type: proj_model.ProjectAdded, Data: data},
&es_models.Event{AggregateID: "AggregateID", Sequence: 1, Type: proj_model.ApplicationAdded, Data: appData},
&es_models.Event{AggregateID: "AggregateID", Sequence: 1, Type: model.ProjectAdded, Data: data},
&es_models.Event{AggregateID: "AggregateID", Sequence: 1, Type: model.ApplicationAdded, Data: appData},
}
mockEs := mock.NewMockEventstore(ctrl)
mockEs.EXPECT().FilterEvents(gomock.Any(), gomock.Any()).Return(events, nil)
@@ -168,8 +168,8 @@ func GetMockManipulateProjectWithGrant(ctrl *gomock.Controller) *ProjectEventsto
data, _ := json.Marshal(model.Project{Name: "Name"})
grantData, _ := json.Marshal(model.ProjectGrant{GrantID: "GrantID", GrantedOrgID: "GrantedOrgID", RoleKeys: []string{"Key"}})
events := []*es_models.Event{
&es_models.Event{AggregateID: "ID", Sequence: 1, Type: proj_model.ProjectAdded, Data: data},
&es_models.Event{AggregateID: "ID", Sequence: 1, Type: proj_model.ProjectGrantAdded, Data: grantData},
&es_models.Event{AggregateID: "ID", Sequence: 1, Type: model.ProjectAdded, Data: data},
&es_models.Event{AggregateID: "ID", Sequence: 1, Type: model.ProjectGrantAdded, Data: grantData},
}
mockEs := mock.NewMockEventstore(ctrl)
mockEs.EXPECT().FilterEvents(gomock.Any(), gomock.Any()).Return(events, nil)
@@ -184,10 +184,10 @@ func GetMockManipulateProjectWithGrantExistingRole(ctrl *gomock.Controller) *Pro
roleData2, _ := json.Marshal(model.ProjectRole{Key: "KeyChanged", DisplayName: "DisplayName", Group: "Group"})
grantData, _ := json.Marshal(model.ProjectGrant{GrantID: "GrantID", GrantedOrgID: "GrantedOrgID", RoleKeys: []string{"Key"}})
events := []*es_models.Event{
&es_models.Event{AggregateID: "ID", Sequence: 1, Type: proj_model.ProjectAdded, Data: data},
&es_models.Event{AggregateID: "ID", Sequence: 1, Type: proj_model.ProjectRoleAdded, Data: roleData},
&es_models.Event{AggregateID: "ID", Sequence: 1, Type: proj_model.ProjectRoleAdded, Data: roleData2},
&es_models.Event{AggregateID: "ID", Sequence: 1, Type: proj_model.ProjectGrantAdded, Data: grantData},
&es_models.Event{AggregateID: "ID", Sequence: 1, Type: model.ProjectAdded, Data: data},
&es_models.Event{AggregateID: "ID", Sequence: 1, Type: model.ProjectRoleAdded, Data: roleData},
&es_models.Event{AggregateID: "ID", Sequence: 1, Type: model.ProjectRoleAdded, Data: roleData2},
&es_models.Event{AggregateID: "ID", Sequence: 1, Type: model.ProjectGrantAdded, Data: grantData},
}
mockEs := mock.NewMockEventstore(ctrl)
mockEs.EXPECT().FilterEvents(gomock.Any(), gomock.Any()).Return(events, nil)
@@ -201,9 +201,9 @@ func GetMockManipulateProjectWithGrantMember(ctrl *gomock.Controller) *ProjectEv
grantData, _ := json.Marshal(model.ProjectGrant{GrantID: "GrantID", GrantedOrgID: "GrantedOrgID", RoleKeys: []string{"Key"}})
memberData, _ := json.Marshal(model.ProjectGrantMember{GrantID: "GrantID", UserID: "UserID", Roles: []string{"Role"}})
events := []*es_models.Event{
&es_models.Event{AggregateID: "ID", Sequence: 1, Type: proj_model.ProjectAdded, Data: data},
&es_models.Event{AggregateID: "ID", Sequence: 1, Type: proj_model.ProjectGrantAdded, Data: grantData},
&es_models.Event{AggregateID: "ID", Sequence: 1, Type: proj_model.ProjectGrantMemberAdded, Data: memberData},
&es_models.Event{AggregateID: "ID", Sequence: 1, Type: model.ProjectAdded, Data: data},
&es_models.Event{AggregateID: "ID", Sequence: 1, Type: model.ProjectGrantAdded, Data: grantData},
&es_models.Event{AggregateID: "ID", Sequence: 1, Type: model.ProjectGrantMemberAdded, Data: memberData},
}
mockEs := mock.NewMockEventstore(ctrl)
mockEs.EXPECT().FilterEvents(gomock.Any(), gomock.Any()).Return(events, nil)
@@ -225,8 +225,8 @@ func GetMockProjectMemberByIDsOK(ctrl *gomock.Controller) *ProjectEventstore {
projectData, _ := json.Marshal(model.Project{Name: "Name"})
memberData, _ := json.Marshal(model.ProjectMember{UserID: "UserID", Roles: []string{"Role"}})
events := []*es_models.Event{
&es_models.Event{AggregateID: "AggregateID", Sequence: 1, Type: proj_model.ProjectAdded, Data: projectData},
&es_models.Event{AggregateID: "AggregateID", Sequence: 1, Type: proj_model.ProjectMemberAdded, Data: memberData},
&es_models.Event{AggregateID: "AggregateID", Sequence: 1, Type: model.ProjectAdded, Data: projectData},
&es_models.Event{AggregateID: "AggregateID", Sequence: 1, Type: model.ProjectMemberAdded, Data: memberData},
}
mockEs := mock.NewMockEventstore(ctrl)
mockEs.EXPECT().FilterEvents(gomock.Any(), gomock.Any()).Return(events, nil)
@@ -239,9 +239,9 @@ func GetMockProjectAppsByIDsOK(ctrl *gomock.Controller) *ProjectEventstore {
oidcData, _ := json.Marshal(model.OIDCConfig{ClientID: "ClientID"})
events := []*es_models.Event{
&es_models.Event{AggregateID: "AggregateID", Sequence: 1, Type: proj_model.ProjectAdded, Data: projectData},
&es_models.Event{AggregateID: "AggregateID", Sequence: 1, Type: proj_model.ApplicationAdded, Data: appData},
&es_models.Event{AggregateID: "AggregateID", Sequence: 1, Type: proj_model.OIDCConfigAdded, Data: oidcData},
&es_models.Event{AggregateID: "AggregateID", Sequence: 1, Type: model.ProjectAdded, Data: projectData},
&es_models.Event{AggregateID: "AggregateID", Sequence: 1, Type: model.ApplicationAdded, Data: appData},
&es_models.Event{AggregateID: "AggregateID", Sequence: 1, Type: model.OIDCConfigAdded, Data: oidcData},
}
mockEs := mock.NewMockEventstore(ctrl)
mockEs.EXPECT().FilterEvents(gomock.Any(), gomock.Any()).Return(events, nil)
@@ -253,8 +253,8 @@ func GetMockProjectGrantByIDsOK(ctrl *gomock.Controller) *ProjectEventstore {
grantData, _ := json.Marshal(model.ProjectGrant{GrantID: "GrantID", GrantedOrgID: "GrantID", RoleKeys: []string{"Key"}})
events := []*es_models.Event{
&es_models.Event{AggregateID: "ID", Sequence: 1, Type: proj_model.ProjectAdded, Data: projectData},
&es_models.Event{AggregateID: "ID", Sequence: 1, Type: proj_model.ProjectGrantAdded, Data: grantData},
&es_models.Event{AggregateID: "ID", Sequence: 1, Type: model.ProjectAdded, Data: projectData},
&es_models.Event{AggregateID: "ID", Sequence: 1, Type: model.ProjectGrantAdded, Data: grantData},
}
mockEs := mock.NewMockEventstore(ctrl)
mockEs.EXPECT().FilterEvents(gomock.Any(), gomock.Any()).Return(events, nil)
@@ -267,9 +267,9 @@ func GetMockProjectGrantMemberByIDsOK(ctrl *gomock.Controller) *ProjectEventstor
memberData, _ := json.Marshal(model.ProjectGrantMember{GrantID: "GrantID", UserID: "UserID", Roles: []string{"Role"}})
events := []*es_models.Event{
&es_models.Event{AggregateID: "ID", Sequence: 1, Type: proj_model.ProjectAdded, Data: projectData},
&es_models.Event{AggregateID: "ID", Sequence: 1, Type: proj_model.ProjectGrantAdded, Data: grantData},
&es_models.Event{AggregateID: "ID", Sequence: 1, Type: proj_model.ProjectGrantMemberAdded, Data: memberData},
&es_models.Event{AggregateID: "ID", Sequence: 1, Type: model.ProjectAdded, Data: projectData},
&es_models.Event{AggregateID: "ID", Sequence: 1, Type: model.ProjectGrantAdded, Data: grantData},
&es_models.Event{AggregateID: "ID", Sequence: 1, Type: model.ProjectGrantMemberAdded, Data: memberData},
}
mockEs := mock.NewMockEventstore(ctrl)
mockEs.EXPECT().FilterEvents(gomock.Any(), gomock.Any()).Return(events, nil)

View File

@@ -57,16 +57,11 @@ func AppsFromModel(apps []*model.Application) []*Application {
func AppFromModel(app *model.Application) *Application {
converted := &Application{
ObjectRoot: es_models.ObjectRoot{
AggregateID: app.ObjectRoot.AggregateID,
Sequence: app.Sequence,
ChangeDate: app.ChangeDate,
CreationDate: app.CreationDate,
},
AppID: app.AppID,
Name: app.Name,
State: int32(app.State),
Type: int32(app.Type),
ObjectRoot: app.ObjectRoot,
AppID: app.AppID,
Name: app.Name,
State: int32(app.State),
Type: int32(app.Type),
}
if app.OIDCConfig != nil {
converted.OIDCConfig = OIDCConfigFromModel(app.OIDCConfig)
@@ -76,16 +71,11 @@ func AppFromModel(app *model.Application) *Application {
func AppToModel(app *Application) *model.Application {
converted := &model.Application{
ObjectRoot: es_models.ObjectRoot{
AggregateID: app.AggregateID,
ChangeDate: app.ChangeDate,
CreationDate: app.CreationDate,
Sequence: app.Sequence,
},
AppID: app.AppID,
Name: app.Name,
State: model.AppState(app.State),
Type: model.AppType(app.Type),
ObjectRoot: app.ObjectRoot,
AppID: app.AppID,
Name: app.Name,
State: model.AppState(app.State),
Type: model.AppType(app.Type),
}
if app.OIDCConfig != nil {
converted.OIDCConfig = OIDCConfigToModel(app.OIDCConfig)

View File

@@ -56,12 +56,7 @@ func OIDCConfigFromModel(config *model.OIDCConfig) *OIDCConfig {
grantTypes[i] = int32(rt)
}
return &OIDCConfig{
ObjectRoot: es_models.ObjectRoot{
AggregateID: config.ObjectRoot.AggregateID,
Sequence: config.Sequence,
ChangeDate: config.ChangeDate,
CreationDate: config.CreationDate,
},
ObjectRoot: config.ObjectRoot,
AppID: config.AppID,
ClientID: config.ClientID,
ClientSecret: config.ClientSecret,
@@ -84,12 +79,7 @@ func OIDCConfigToModel(config *OIDCConfig) *model.OIDCConfig {
grantTypes[i] = model.OIDCGrantType(rt)
}
return &model.OIDCConfig{
ObjectRoot: es_models.ObjectRoot{
AggregateID: config.ObjectRoot.AggregateID,
Sequence: config.Sequence,
ChangeDate: config.ChangeDate,
CreationDate: config.CreationDate,
},
ObjectRoot: config.ObjectRoot,
AppID: config.AppID,
ClientID: config.ClientID,
ClientSecret: config.ClientSecret,

View File

@@ -35,12 +35,7 @@ func ProjectFromModel(project *model.Project) *Project {
apps := AppsFromModel(project.Applications)
grants := GrantsFromModel(project.Grants)
return &Project{
ObjectRoot: es_models.ObjectRoot{
AggregateID: project.ObjectRoot.AggregateID,
Sequence: project.Sequence,
ChangeDate: project.ChangeDate,
CreationDate: project.CreationDate,
},
ObjectRoot: project.ObjectRoot,
Name: project.Name,
State: int32(project.State),
Members: members,
@@ -56,12 +51,7 @@ func ProjectToModel(project *Project) *model.Project {
apps := AppsToModel(project.Applications)
grants := GrantsToModel(project.Grants)
return &model.Project{
ObjectRoot: es_models.ObjectRoot{
AggregateID: project.AggregateID,
ChangeDate: project.ChangeDate,
CreationDate: project.CreationDate,
Sequence: project.Sequence,
},
ObjectRoot: project.ObjectRoot,
Name: project.Name,
State: model.ProjectState(project.State),
Members: members,
@@ -92,63 +82,64 @@ func (p *Project) AppendEvent(event *es_models.Event) error {
p.ObjectRoot.AppendEvent(event)
switch event.Type {
case model.ProjectAdded, model.ProjectChanged:
if err := json.Unmarshal(event.Data, p); err != nil {
logging.Log("EVEN-idl93").WithError(err).Error("could not unmarshal event data")
return err
}
p.State = int32(model.PROJECTSTATE_ACTIVE)
return nil
case model.ProjectDeactivated:
case ProjectAdded, ProjectChanged:
return p.AppendAddProjectEvent(event)
case ProjectDeactivated:
return p.appendDeactivatedEvent()
case model.ProjectReactivated:
case ProjectReactivated:
return p.appendReactivatedEvent()
case model.ProjectMemberAdded:
case ProjectMemberAdded:
return p.appendAddMemberEvent(event)
case model.ProjectMemberChanged:
case ProjectMemberChanged:
return p.appendChangeMemberEvent(event)
case model.ProjectMemberRemoved:
case ProjectMemberRemoved:
return p.appendRemoveMemberEvent(event)
case model.ProjectRoleAdded:
case ProjectRoleAdded:
return p.appendAddRoleEvent(event)
case model.ProjectRoleChanged:
case ProjectRoleChanged:
return p.appendChangeRoleEvent(event)
case model.ProjectRoleRemoved:
case ProjectRoleRemoved:
return p.appendRemoveRoleEvent(event)
case model.ApplicationAdded:
case ApplicationAdded:
return p.appendAddAppEvent(event)
case model.ApplicationChanged:
case ApplicationChanged:
return p.appendChangeAppEvent(event)
case model.ApplicationRemoved:
case ApplicationRemoved:
return p.appendRemoveAppEvent(event)
case model.ApplicationDeactivated:
case ApplicationDeactivated:
return p.appendAppStateEvent(event, model.APPSTATE_INACTIVE)
case model.ApplicationReactivated:
case ApplicationReactivated:
return p.appendAppStateEvent(event, model.APPSTATE_ACTIVE)
case model.OIDCConfigAdded:
case OIDCConfigAdded:
return p.appendAddOIDCConfigEvent(event)
case model.OIDCConfigChanged, model.OIDCConfigSecretChanged:
case OIDCConfigChanged, OIDCConfigSecretChanged:
return p.appendChangeOIDCConfigEvent(event)
case model.ProjectGrantAdded:
case ProjectGrantAdded:
return p.appendAddGrantEvent(event)
case model.ProjectGrantChanged:
case ProjectGrantChanged:
return p.appendChangeGrantEvent(event)
case model.ProjectGrantDeactivated:
case ProjectGrantDeactivated:
return p.appendGrantStateEvent(event, model.PROJECTGRANTSTATE_INACTIVE)
case model.ProjectGrantReactivated:
case ProjectGrantReactivated:
return p.appendGrantStateEvent(event, model.PROJECTGRANTSTATE_ACTIVE)
case model.ProjectGrantRemoved:
case ProjectGrantRemoved:
return p.appendRemoveGrantEvent(event)
case model.ProjectGrantMemberAdded:
case ProjectGrantMemberAdded:
return p.appendAddGrantMemberEvent(event)
case model.ProjectGrantMemberChanged:
case ProjectGrantMemberChanged:
return p.appendChangeGrantMemberEvent(event)
case model.ProjectGrantMemberRemoved:
case ProjectGrantMemberRemoved:
return p.appendRemoveGrantMemberEvent(event)
}
return nil
}
func (p *Project) AppendAddProjectEvent(event *es_models.Event) error {
p.setData(event)
p.State = int32(model.PROJECTSTATE_ACTIVE)
return nil
}
func (p *Project) appendDeactivatedEvent() error {
p.State = int32(model.PROJECTSTATE_INACTIVE)
return nil
@@ -158,3 +149,11 @@ func (p *Project) appendReactivatedEvent() error {
p.State = int32(model.PROJECTSTATE_ACTIVE)
return nil
}
func (p *Project) setData(event *es_models.Event) error {
if err := json.Unmarshal(event.Data, p); err != nil {
logging.Log("EVEN-lo9sr").WithError(err).Error("could not unmarshal event data")
return err
}
return nil
}

View File

@@ -59,12 +59,7 @@ func GrantsFromModel(grants []*model.ProjectGrant) []*ProjectGrant {
func GrantFromModel(grant *model.ProjectGrant) *ProjectGrant {
members := GrantMembersFromModel(grant.Members)
return &ProjectGrant{
ObjectRoot: es_models.ObjectRoot{
AggregateID: grant.ObjectRoot.AggregateID,
Sequence: grant.Sequence,
ChangeDate: grant.ChangeDate,
CreationDate: grant.CreationDate,
},
ObjectRoot: grant.ObjectRoot,
GrantID: grant.GrantID,
GrantedOrgID: grant.GrantedOrgID,
State: int32(grant.State),
@@ -76,12 +71,7 @@ func GrantFromModel(grant *model.ProjectGrant) *ProjectGrant {
func GrantToModel(grant *ProjectGrant) *model.ProjectGrant {
members := GrantMembersToModel(grant.Members)
return &model.ProjectGrant{
ObjectRoot: es_models.ObjectRoot{
AggregateID: grant.AggregateID,
ChangeDate: grant.ChangeDate,
CreationDate: grant.CreationDate,
Sequence: grant.Sequence,
},
ObjectRoot: grant.ObjectRoot,
GrantID: grant.GrantID,
GrantedOrgID: grant.GrantedOrgID,
State: model.ProjectGrantState(grant.State),

View File

@@ -41,29 +41,19 @@ func GrantMembersFromModel(members []*model.ProjectGrantMember) []*ProjectGrantM
func GrantMemberFromModel(member *model.ProjectGrantMember) *ProjectGrantMember {
return &ProjectGrantMember{
ObjectRoot: es_models.ObjectRoot{
AggregateID: member.ObjectRoot.AggregateID,
Sequence: member.Sequence,
ChangeDate: member.ChangeDate,
CreationDate: member.CreationDate,
},
GrantID: member.GrantID,
UserID: member.UserID,
Roles: member.Roles,
ObjectRoot: member.ObjectRoot,
GrantID: member.GrantID,
UserID: member.UserID,
Roles: member.Roles,
}
}
func GrantMemberToModel(member *ProjectGrantMember) *model.ProjectGrantMember {
return &model.ProjectGrantMember{
ObjectRoot: es_models.ObjectRoot{
AggregateID: member.AggregateID,
ChangeDate: member.ChangeDate,
CreationDate: member.CreationDate,
Sequence: member.Sequence,
},
GrantID: member.GrantID,
UserID: member.UserID,
Roles: member.Roles,
ObjectRoot: member.ObjectRoot,
GrantID: member.GrantID,
UserID: member.UserID,
Roles: member.Roles,
}
}

View File

@@ -40,27 +40,17 @@ func ProjectMembersFromModel(members []*model.ProjectMember) []*ProjectMember {
func ProjectMemberFromModel(member *model.ProjectMember) *ProjectMember {
return &ProjectMember{
ObjectRoot: es_models.ObjectRoot{
AggregateID: member.ObjectRoot.AggregateID,
Sequence: member.Sequence,
ChangeDate: member.ChangeDate,
CreationDate: member.CreationDate,
},
UserID: member.UserID,
Roles: member.Roles,
ObjectRoot: member.ObjectRoot,
UserID: member.UserID,
Roles: member.Roles,
}
}
func ProjectMemberToModel(member *ProjectMember) *model.ProjectMember {
return &model.ProjectMember{
ObjectRoot: es_models.ObjectRoot{
AggregateID: member.AggregateID,
ChangeDate: member.ChangeDate,
CreationDate: member.CreationDate,
Sequence: member.Sequence,
},
UserID: member.UserID,
Roles: member.Roles,
ObjectRoot: member.ObjectRoot,
UserID: member.UserID,
Roles: member.Roles,
}
}

View File

@@ -41,12 +41,7 @@ func ProjectRolesFromModel(roles []*model.ProjectRole) []*ProjectRole {
func ProjectRoleFromModel(role *model.ProjectRole) *ProjectRole {
return &ProjectRole{
ObjectRoot: es_models.ObjectRoot{
AggregateID: role.ObjectRoot.AggregateID,
Sequence: role.Sequence,
ChangeDate: role.ChangeDate,
CreationDate: role.CreationDate,
},
ObjectRoot: role.ObjectRoot,
Key: role.Key,
DisplayName: role.DisplayName,
Group: role.Group,
@@ -55,12 +50,7 @@ func ProjectRoleFromModel(role *model.ProjectRole) *ProjectRole {
func ProjectRoleToModel(role *ProjectRole) *model.ProjectRole {
return &model.ProjectRole{
ObjectRoot: es_models.ObjectRoot{
AggregateID: role.AggregateID,
ChangeDate: role.ChangeDate,
CreationDate: role.CreationDate,
Sequence: role.Sequence,
},
ObjectRoot: role.ObjectRoot,
Key: role.Key,
DisplayName: role.DisplayName,
Group: role.Group,

View File

@@ -65,7 +65,7 @@ func TestProjectFromEvents(t *testing.T) {
name: "project from events, ok",
args: args{
event: []*es_models.Event{
&es_models.Event{AggregateID: "AggregateID", Sequence: 1, Type: model.ProjectAdded},
&es_models.Event{AggregateID: "AggregateID", Sequence: 1, Type: ProjectAdded},
},
project: &Project{Name: "ProjectName"},
},
@@ -75,7 +75,7 @@ func TestProjectFromEvents(t *testing.T) {
name: "project from events, nil project",
args: args{
event: []*es_models.Event{
&es_models.Event{AggregateID: "AggregateID", Sequence: 1, Type: model.ProjectAdded},
&es_models.Event{AggregateID: "AggregateID", Sequence: 1, Type: ProjectAdded},
},
project: nil,
},
@@ -109,7 +109,7 @@ func TestAppendEvent(t *testing.T) {
{
name: "append added event",
args: args{
event: &es_models.Event{AggregateID: "AggregateID", Sequence: 1, Type: model.ProjectAdded},
event: &es_models.Event{AggregateID: "AggregateID", Sequence: 1, Type: ProjectAdded},
project: &Project{Name: "ProjectName"},
},
result: &Project{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID"}, State: int32(model.PROJECTSTATE_ACTIVE), Name: "ProjectName"},
@@ -117,7 +117,7 @@ func TestAppendEvent(t *testing.T) {
{
name: "append change event",
args: args{
event: &es_models.Event{AggregateID: "AggregateID", Sequence: 1, Type: model.ProjectChanged},
event: &es_models.Event{AggregateID: "AggregateID", Sequence: 1, Type: ProjectChanged},
project: &Project{Name: "ProjectName"},
},
result: &Project{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID"}, State: int32(model.PROJECTSTATE_ACTIVE), Name: "ProjectName"},
@@ -125,14 +125,14 @@ func TestAppendEvent(t *testing.T) {
{
name: "append deactivate event",
args: args{
event: &es_models.Event{AggregateID: "AggregateID", Sequence: 1, Type: model.ProjectDeactivated},
event: &es_models.Event{AggregateID: "AggregateID", Sequence: 1, Type: ProjectDeactivated},
},
result: &Project{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID"}, State: int32(model.PROJECTSTATE_INACTIVE)},
},
{
name: "append reactivate event",
args: args{
event: &es_models.Event{AggregateID: "AggregateID", Sequence: 1, Type: model.ProjectReactivated},
event: &es_models.Event{AggregateID: "AggregateID", Sequence: 1, Type: ProjectReactivated},
},
result: &Project{ObjectRoot: es_models.ObjectRoot{AggregateID: "AggregateID"}, State: int32(model.PROJECTSTATE_ACTIVE)},
},

View File

@@ -0,0 +1,40 @@
package model
import "github.com/caos/zitadel/internal/eventstore/models"
const (
ProjectAggregate models.AggregateType = "project"
ProjectAdded models.EventType = "project.added"
ProjectChanged models.EventType = "project.changed"
ProjectDeactivated models.EventType = "project.deactivated"
ProjectReactivated models.EventType = "project.reactivated"
ProjectMemberAdded models.EventType = "project.member.added"
ProjectMemberChanged models.EventType = "project.member.changed"
ProjectMemberRemoved models.EventType = "project.member.removed"
ProjectRoleAdded models.EventType = "project.role.added"
ProjectRoleChanged models.EventType = "project.role.changed"
ProjectRoleRemoved models.EventType = "project.role.removed"
ProjectGrantAdded models.EventType = "project.grant.added"
ProjectGrantChanged models.EventType = "project.grant.changed"
ProjectGrantRemoved models.EventType = "project.grant.removed"
ProjectGrantDeactivated models.EventType = "project.grant.deactivated"
ProjectGrantReactivated models.EventType = "project.grant.reactivated"
ProjectGrantMemberAdded models.EventType = "project.grant.member.added"
ProjectGrantMemberChanged models.EventType = "project.grant.member.changed"
ProjectGrantMemberRemoved models.EventType = "project.grant.member.removed"
ApplicationAdded models.EventType = "project.application.added"
ApplicationChanged models.EventType = "project.application.changed"
ApplicationRemoved models.EventType = "project.application.removed"
ApplicationDeactivated models.EventType = "project.application.deactivated"
ApplicationReactivated models.EventType = "project.application.reactivated"
OIDCConfigAdded models.EventType = "project.application.config.oidc.added"
OIDCConfigChanged models.EventType = "project.application.config.oidc.changed"
OIDCConfigSecretChanged models.EventType = "project.application.config.oidc.secret.changed"
)

View File

@@ -6,7 +6,6 @@ import (
"github.com/caos/zitadel/internal/errors"
"github.com/caos/zitadel/internal/eventstore/models"
es_models "github.com/caos/zitadel/internal/eventstore/models"
proj_model "github.com/caos/zitadel/internal/project/model"
"github.com/caos/zitadel/internal/project/repository/eventsourcing/model"
)
@@ -20,7 +19,7 @@ func ProjectByIDQuery(id string, latestSequence uint64) (*es_models.SearchQuery,
func ProjectQuery(latestSequence uint64) *es_models.SearchQuery {
return es_models.NewSearchQuery().
AggregateTypeFilter(proj_model.ProjectAggregate).
AggregateTypeFilter(model.ProjectAggregate).
LatestSequenceFilter(latestSequence)
}
@@ -28,7 +27,7 @@ func ProjectAggregate(ctx context.Context, aggCreator *es_models.AggregateCreato
if project == nil {
return nil, errors.ThrowPreconditionFailed(nil, "EVENT-doe93", "existing project should not be nil")
}
return aggCreator.NewAggregate(ctx, project.AggregateID, proj_model.ProjectAggregate, model.ProjectVersion, project.Sequence)
return aggCreator.NewAggregate(ctx, project.AggregateID, model.ProjectAggregate, model.ProjectVersion, project.Sequence)
}
func ProjectCreateAggregate(aggCreator *es_models.AggregateCreator, project *model.Project) func(ctx context.Context) (*es_models.Aggregate, error) {
@@ -42,7 +41,7 @@ func ProjectCreateAggregate(aggCreator *es_models.AggregateCreator, project *mod
return nil, err
}
return agg.AppendEvent(proj_model.ProjectAdded, project)
return agg.AppendEvent(model.ProjectAdded, project)
}
}
@@ -56,16 +55,16 @@ func ProjectUpdateAggregate(aggCreator *es_models.AggregateCreator, existing *mo
return nil, err
}
changes := existing.Changes(new)
return agg.AppendEvent(proj_model.ProjectChanged, changes)
return agg.AppendEvent(model.ProjectChanged, changes)
}
}
func ProjectDeactivateAggregate(aggCreator *es_models.AggregateCreator, project *model.Project) func(ctx context.Context) (*es_models.Aggregate, error) {
return projectStateAggregate(aggCreator, project, proj_model.ProjectDeactivated)
return projectStateAggregate(aggCreator, project, model.ProjectDeactivated)
}
func ProjectReactivateAggregate(aggCreator *es_models.AggregateCreator, project *model.Project) func(ctx context.Context) (*es_models.Aggregate, error) {
return projectStateAggregate(aggCreator, project, proj_model.ProjectReactivated)
return projectStateAggregate(aggCreator, project, model.ProjectReactivated)
}
func projectStateAggregate(aggCreator *es_models.AggregateCreator, project *model.Project, state models.EventType) func(ctx context.Context) (*es_models.Aggregate, error) {
@@ -87,7 +86,7 @@ func ProjectMemberAddedAggregate(aggCreator *es_models.AggregateCreator, existin
if err != nil {
return nil, err
}
return agg.AppendEvent(proj_model.ProjectMemberAdded, member)
return agg.AppendEvent(model.ProjectMemberAdded, member)
}
}
@@ -101,7 +100,7 @@ func ProjectMemberChangedAggregate(aggCreator *es_models.AggregateCreator, exist
if err != nil {
return nil, err
}
return agg.AppendEvent(proj_model.ProjectMemberChanged, member)
return agg.AppendEvent(model.ProjectMemberChanged, member)
}
}
@@ -114,7 +113,7 @@ func ProjectMemberRemovedAggregate(aggCreator *es_models.AggregateCreator, exist
if err != nil {
return nil, err
}
return agg.AppendEvent(proj_model.ProjectMemberRemoved, member)
return agg.AppendEvent(model.ProjectMemberRemoved, member)
}
}
@@ -127,7 +126,7 @@ func ProjectRoleAddedAggregate(aggCreator *es_models.AggregateCreator, existing
if err != nil {
return nil, err
}
return agg.AppendEvent(proj_model.ProjectRoleAdded, role)
return agg.AppendEvent(model.ProjectRoleAdded, role)
}
}
@@ -140,7 +139,7 @@ func ProjectRoleChangedAggregate(aggCreator *es_models.AggregateCreator, existin
if err != nil {
return nil, err
}
return agg.AppendEvent(proj_model.ProjectRoleChanged, role)
return agg.AppendEvent(model.ProjectRoleChanged, role)
}
}
@@ -153,7 +152,7 @@ func ProjectRoleRemovedAggregate(aggCreator *es_models.AggregateCreator, existin
if err != nil {
return nil, err
}
return agg.AppendEvent(proj_model.ProjectRoleRemoved, role)
return agg.AppendEvent(model.ProjectRoleRemoved, role)
}
}
@@ -166,9 +165,9 @@ func ApplicationAddedAggregate(aggCreator *es_models.AggregateCreator, existing
if err != nil {
return nil, err
}
agg.AppendEvent(proj_model.ApplicationAdded, app)
agg.AppendEvent(model.ApplicationAdded, app)
if app.OIDCConfig != nil {
agg.AppendEvent(proj_model.OIDCConfigAdded, app.OIDCConfig)
agg.AppendEvent(model.OIDCConfigAdded, app.OIDCConfig)
}
return agg, nil
}
@@ -189,7 +188,7 @@ func ApplicationChangedAggregate(aggCreator *es_models.AggregateCreator, existin
changes = a.Changes(app)
}
}
agg.AppendEvent(proj_model.ApplicationChanged, changes)
agg.AppendEvent(model.ApplicationChanged, changes)
return agg, nil
}
@@ -204,7 +203,7 @@ func ApplicationRemovedAggregate(aggCreator *es_models.AggregateCreator, existin
if err != nil {
return nil, err
}
agg.AppendEvent(proj_model.ApplicationRemoved, &model.ApplicationID{AppID: app.AppID})
agg.AppendEvent(model.ApplicationRemoved, &model.ApplicationID{AppID: app.AppID})
return agg, nil
}
@@ -219,7 +218,7 @@ func ApplicationDeactivatedAggregate(aggCreator *es_models.AggregateCreator, exi
if err != nil {
return nil, err
}
agg.AppendEvent(proj_model.ApplicationDeactivated, &model.ApplicationID{AppID: app.AppID})
agg.AppendEvent(model.ApplicationDeactivated, &model.ApplicationID{AppID: app.AppID})
return agg, nil
}
@@ -234,7 +233,7 @@ func ApplicationReactivatedAggregate(aggCreator *es_models.AggregateCreator, exi
if err != nil {
return nil, err
}
agg.AppendEvent(proj_model.ApplicationReactivated, &model.ApplicationID{AppID: app.AppID})
agg.AppendEvent(model.ApplicationReactivated, &model.ApplicationID{AppID: app.AppID})
return agg, nil
}
@@ -257,7 +256,7 @@ func OIDCConfigChangedAggregate(aggCreator *es_models.AggregateCreator, existing
}
}
}
agg.AppendEvent(proj_model.OIDCConfigChanged, changes)
agg.AppendEvent(model.OIDCConfigChanged, changes)
return agg, nil
}
@@ -273,7 +272,7 @@ func OIDCConfigSecretChangedAggregate(aggCreator *es_models.AggregateCreator, ex
changes["appId"] = appID
changes["clientSecret"] = secret
agg.AppendEvent(proj_model.OIDCConfigSecretChanged, changes)
agg.AppendEvent(model.OIDCConfigSecretChanged, changes)
return agg, nil
}
@@ -288,7 +287,7 @@ func ProjectGrantAddedAggregate(aggCreator *es_models.AggregateCreator, existing
if err != nil {
return nil, err
}
agg.AppendEvent(proj_model.ProjectGrantAdded, grant)
agg.AppendEvent(model.ProjectGrantAdded, grant)
return agg, nil
}
}
@@ -308,7 +307,7 @@ func ProjectGrantChangedAggregate(aggCreator *es_models.AggregateCreator, existi
changes = g.Changes(grant)
}
}
agg.AppendEvent(proj_model.ProjectGrantChanged, changes)
agg.AppendEvent(model.ProjectGrantChanged, changes)
return agg, nil
}
@@ -323,7 +322,7 @@ func ProjectGrantRemovedAggregate(aggCreator *es_models.AggregateCreator, existi
if err != nil {
return nil, err
}
agg.AppendEvent(proj_model.ProjectGrantRemoved, &model.ProjectGrantID{GrantID: grant.GrantID})
agg.AppendEvent(model.ProjectGrantRemoved, &model.ProjectGrantID{GrantID: grant.GrantID})
return agg, nil
}
@@ -338,7 +337,7 @@ func ProjectGrantDeactivatedAggregate(aggCreator *es_models.AggregateCreator, ex
if err != nil {
return nil, err
}
agg.AppendEvent(proj_model.ProjectGrantDeactivated, &model.ProjectGrantID{GrantID: grant.GrantID})
agg.AppendEvent(model.ProjectGrantDeactivated, &model.ProjectGrantID{GrantID: grant.GrantID})
return agg, nil
}
@@ -353,7 +352,7 @@ func ProjectGrantReactivatedAggregate(aggCreator *es_models.AggregateCreator, ex
if err != nil {
return nil, err
}
agg.AppendEvent(proj_model.ProjectGrantReactivated, &model.ProjectGrantID{GrantID: grant.GrantID})
agg.AppendEvent(model.ProjectGrantReactivated, &model.ProjectGrantID{GrantID: grant.GrantID})
return agg, nil
}
@@ -368,7 +367,7 @@ func ProjectGrantMemberAddedAggregate(aggCreator *es_models.AggregateCreator, ex
if err != nil {
return nil, err
}
agg.AppendEvent(proj_model.ProjectGrantMemberAdded, member)
agg.AppendEvent(model.ProjectGrantMemberAdded, member)
return agg, nil
}
}
@@ -388,7 +387,7 @@ func ProjectGrantMemberChangedAggregate(aggCreator *es_models.AggregateCreator,
changes["userId"] = member.UserID
changes["roles"] = member.Roles
return agg.AppendEvent(proj_model.ProjectGrantMemberChanged, changes)
return agg.AppendEvent(model.ProjectGrantMemberChanged, changes)
}
}
@@ -401,6 +400,6 @@ func ProjectGrantMemberRemovedAggregate(aggCreator *es_models.AggregateCreator,
if err != nil {
return nil, err
}
return agg.AppendEvent(proj_model.ProjectGrantMemberRemoved, member)
return agg.AppendEvent(model.ProjectGrantMemberRemoved, member)
}
}

View File

@@ -126,7 +126,7 @@ func TestProjectAggregate(t *testing.T) {
},
res: res{
eventLen: 0,
aggType: proj_model.ProjectAggregate,
aggType: model.ProjectAggregate,
},
},
{
@@ -137,7 +137,7 @@ func TestProjectAggregate(t *testing.T) {
},
res: res{
eventLen: 0,
aggType: proj_model.ProjectAggregate,
aggType: model.ProjectAggregate,
wantErr: true,
errFunc: caos_errs.IsPreconditionFailed,
},
@@ -186,7 +186,7 @@ func TestProjectCreateAggregate(t *testing.T) {
},
res: res{
eventLen: 1,
eventType: proj_model.ProjectAdded,
eventType: model.ProjectAdded,
},
},
{
@@ -198,7 +198,7 @@ func TestProjectCreateAggregate(t *testing.T) {
},
res: res{
eventLen: 1,
eventType: proj_model.ProjectAdded,
eventType: model.ProjectAdded,
wantErr: true,
errFunc: caos_errs.IsPreconditionFailed,
},
@@ -252,7 +252,7 @@ func TestProjectUpdateAggregate(t *testing.T) {
},
res: res{
eventLen: 1,
eventType: proj_model.ProjectChanged,
eventType: model.ProjectChanged,
},
},
{
@@ -264,7 +264,7 @@ func TestProjectUpdateAggregate(t *testing.T) {
},
res: res{
eventLen: 1,
eventType: proj_model.ProjectChanged,
eventType: model.ProjectChanged,
wantErr: true,
errFunc: caos_errs.IsPreconditionFailed,
},
@@ -279,7 +279,7 @@ func TestProjectUpdateAggregate(t *testing.T) {
},
res: res{
eventLen: 1,
eventType: proj_model.ProjectChanged,
eventType: model.ProjectChanged,
wantErr: true,
errFunc: caos_errs.IsPreconditionFailed,
},
@@ -331,7 +331,7 @@ func TestProjectDeactivateAggregate(t *testing.T) {
},
res: res{
eventLen: 1,
eventType: proj_model.ProjectDeactivated,
eventType: model.ProjectDeactivated,
},
},
{
@@ -343,7 +343,7 @@ func TestProjectDeactivateAggregate(t *testing.T) {
},
res: res{
eventLen: 1,
eventType: proj_model.ProjectDeactivated,
eventType: model.ProjectDeactivated,
wantErr: true,
errFunc: caos_errs.IsPreconditionFailed,
},
@@ -392,7 +392,7 @@ func TestProjectReactivateAggregate(t *testing.T) {
},
res: res{
eventLen: 1,
eventType: proj_model.ProjectReactivated,
eventType: model.ProjectReactivated,
},
},
{
@@ -404,7 +404,7 @@ func TestProjectReactivateAggregate(t *testing.T) {
},
res: res{
eventLen: 1,
eventType: proj_model.ProjectReactivated,
eventType: model.ProjectReactivated,
wantErr: true,
errFunc: caos_errs.IsPreconditionFailed,
},
@@ -455,7 +455,7 @@ func TestProjectMemberAddedAggregate(t *testing.T) {
},
res: res{
eventLen: 1,
eventType: proj_model.ProjectMemberAdded,
eventType: model.ProjectMemberAdded,
},
},
{
@@ -467,7 +467,7 @@ func TestProjectMemberAddedAggregate(t *testing.T) {
},
res: res{
eventLen: 1,
eventType: proj_model.ProjectMemberAdded,
eventType: model.ProjectMemberAdded,
wantErr: true,
errFunc: caos_errs.IsPreconditionFailed,
},
@@ -482,7 +482,7 @@ func TestProjectMemberAddedAggregate(t *testing.T) {
},
res: res{
eventLen: 1,
eventType: proj_model.ProjectMemberAdded,
eventType: model.ProjectMemberAdded,
wantErr: true,
errFunc: caos_errs.IsPreconditionFailed,
},
@@ -536,7 +536,7 @@ func TestProjectMemberChangedAggregate(t *testing.T) {
},
res: res{
eventLen: 1,
eventType: proj_model.ProjectMemberChanged,
eventType: model.ProjectMemberChanged,
},
},
{
@@ -548,7 +548,7 @@ func TestProjectMemberChangedAggregate(t *testing.T) {
},
res: res{
eventLen: 1,
eventType: proj_model.ProjectMemberChanged,
eventType: model.ProjectMemberChanged,
wantErr: true,
errFunc: caos_errs.IsPreconditionFailed,
},
@@ -563,7 +563,7 @@ func TestProjectMemberChangedAggregate(t *testing.T) {
},
res: res{
eventLen: 1,
eventType: proj_model.ProjectMemberChanged,
eventType: model.ProjectMemberChanged,
wantErr: true,
errFunc: caos_errs.IsPreconditionFailed,
},
@@ -617,7 +617,7 @@ func TestProjectMemberRemovedAggregate(t *testing.T) {
},
res: res{
eventLen: 1,
eventType: proj_model.ProjectMemberRemoved,
eventType: model.ProjectMemberRemoved,
},
},
{
@@ -629,7 +629,7 @@ func TestProjectMemberRemovedAggregate(t *testing.T) {
},
res: res{
eventLen: 1,
eventType: proj_model.ProjectMemberRemoved,
eventType: model.ProjectMemberRemoved,
wantErr: true,
errFunc: caos_errs.IsPreconditionFailed,
},
@@ -644,7 +644,7 @@ func TestProjectMemberRemovedAggregate(t *testing.T) {
},
res: res{
eventLen: 1,
eventType: proj_model.ProjectMemberRemoved,
eventType: model.ProjectMemberRemoved,
wantErr: true,
errFunc: caos_errs.IsPreconditionFailed,
},
@@ -698,7 +698,7 @@ func TestProjectRoleAddedAggregate(t *testing.T) {
},
res: res{
eventLen: 1,
eventType: proj_model.ProjectRoleAdded,
eventType: model.ProjectRoleAdded,
},
},
{
@@ -710,7 +710,7 @@ func TestProjectRoleAddedAggregate(t *testing.T) {
},
res: res{
eventLen: 1,
eventType: proj_model.ProjectRoleAdded,
eventType: model.ProjectRoleAdded,
wantErr: true,
errFunc: caos_errs.IsPreconditionFailed,
},
@@ -725,7 +725,7 @@ func TestProjectRoleAddedAggregate(t *testing.T) {
},
res: res{
eventLen: 1,
eventType: proj_model.ProjectRoleAdded,
eventType: model.ProjectRoleAdded,
wantErr: true,
errFunc: caos_errs.IsPreconditionFailed,
},
@@ -779,7 +779,7 @@ func TestProjectRoleChangedAggregate(t *testing.T) {
},
res: res{
eventLen: 1,
eventType: proj_model.ProjectRoleChanged,
eventType: model.ProjectRoleChanged,
},
},
{
@@ -791,7 +791,7 @@ func TestProjectRoleChangedAggregate(t *testing.T) {
},
res: res{
eventLen: 1,
eventType: proj_model.ProjectRoleChanged,
eventType: model.ProjectRoleChanged,
wantErr: true,
errFunc: caos_errs.IsPreconditionFailed,
},
@@ -806,7 +806,7 @@ func TestProjectRoleChangedAggregate(t *testing.T) {
},
res: res{
eventLen: 1,
eventType: proj_model.ProjectRoleChanged,
eventType: model.ProjectRoleChanged,
wantErr: true,
errFunc: caos_errs.IsPreconditionFailed,
},
@@ -860,7 +860,7 @@ func TestProjectRoleRemovedAggregate(t *testing.T) {
},
res: res{
eventLen: 1,
eventType: proj_model.ProjectRoleRemoved,
eventType: model.ProjectRoleRemoved,
},
},
{
@@ -872,7 +872,7 @@ func TestProjectRoleRemovedAggregate(t *testing.T) {
},
res: res{
eventLen: 1,
eventType: proj_model.ProjectRoleRemoved,
eventType: model.ProjectRoleRemoved,
wantErr: true,
errFunc: caos_errs.IsPreconditionFailed,
},
@@ -887,7 +887,7 @@ func TestProjectRoleRemovedAggregate(t *testing.T) {
},
res: res{
eventLen: 1,
eventType: proj_model.ProjectRoleRemoved,
eventType: model.ProjectRoleRemoved,
wantErr: true,
errFunc: caos_errs.IsPreconditionFailed,
},
@@ -946,7 +946,7 @@ func TestProjectAppAddedAggregate(t *testing.T) {
},
res: res{
eventLen: 2,
eventTypes: []models.EventType{proj_model.ApplicationAdded, proj_model.OIDCConfigAdded},
eventTypes: []models.EventType{model.ApplicationAdded, model.OIDCConfigAdded},
},
},
{
@@ -1038,7 +1038,7 @@ func TestProjectAppChangedAggregate(t *testing.T) {
},
res: res{
eventLen: 1,
eventTypes: []models.EventType{proj_model.ApplicationChanged},
eventTypes: []models.EventType{model.ApplicationChanged},
},
},
{
@@ -1128,7 +1128,7 @@ func TestProjectAppRemovedAggregate(t *testing.T) {
},
res: res{
eventLen: 1,
eventTypes: []models.EventType{proj_model.ApplicationRemoved},
eventTypes: []models.EventType{model.ApplicationRemoved},
},
},
{
@@ -1218,7 +1218,7 @@ func TestProjectAppDeactivatedAggregate(t *testing.T) {
},
res: res{
eventLen: 1,
eventTypes: []models.EventType{proj_model.ApplicationDeactivated},
eventTypes: []models.EventType{model.ApplicationDeactivated},
},
},
{
@@ -1308,7 +1308,7 @@ func TestProjectAppReactivatedAggregate(t *testing.T) {
},
res: res{
eventLen: 1,
eventTypes: []models.EventType{proj_model.ApplicationReactivated},
eventTypes: []models.EventType{model.ApplicationReactivated},
},
},
{
@@ -1398,7 +1398,7 @@ func TestOIDCConfigchangAggregate(t *testing.T) {
},
res: res{
eventLen: 1,
eventTypes: []models.EventType{proj_model.OIDCConfigChanged},
eventTypes: []models.EventType{model.OIDCConfigChanged},
},
},
{
@@ -1488,7 +1488,7 @@ func TestOIDCConfigSecretChangeAggregate(t *testing.T) {
},
res: res{
eventLen: 1,
eventTypes: []models.EventType{proj_model.OIDCConfigSecretChanged},
eventTypes: []models.EventType{model.OIDCConfigSecretChanged},
},
},
{
@@ -1559,7 +1559,7 @@ func TestProjectGrantAddedAggregate(t *testing.T) {
},
res: res{
eventLen: 1,
eventType: proj_model.ProjectGrantAdded,
eventType: model.ProjectGrantAdded,
},
},
{
@@ -1571,7 +1571,7 @@ func TestProjectGrantAddedAggregate(t *testing.T) {
},
res: res{
eventLen: 1,
eventType: proj_model.ProjectGrantAdded,
eventType: model.ProjectGrantAdded,
wantErr: true,
errFunc: caos_errs.IsPreconditionFailed,
},
@@ -1586,7 +1586,7 @@ func TestProjectGrantAddedAggregate(t *testing.T) {
},
res: res{
eventLen: 1,
eventType: proj_model.ProjectGrantAdded,
eventType: model.ProjectGrantAdded,
wantErr: true,
errFunc: caos_errs.IsPreconditionFailed,
},
@@ -1651,7 +1651,7 @@ func TestProjectGrantChangedAggregate(t *testing.T) {
},
res: res{
eventLen: 1,
eventTypes: []models.EventType{proj_model.ProjectGrantChanged},
eventTypes: []models.EventType{model.ProjectGrantChanged},
},
},
{
@@ -1742,7 +1742,7 @@ func TestProjectGrantRemovedAggregate(t *testing.T) {
},
res: res{
eventLen: 1,
eventTypes: []models.EventType{proj_model.ProjectGrantRemoved},
eventTypes: []models.EventType{model.ProjectGrantRemoved},
},
},
{
@@ -1833,7 +1833,7 @@ func TestProjectGrantDeactivatedAggregate(t *testing.T) {
},
res: res{
eventLen: 1,
eventTypes: []models.EventType{proj_model.ProjectGrantDeactivated},
eventTypes: []models.EventType{model.ProjectGrantDeactivated},
},
},
{
@@ -1924,7 +1924,7 @@ func TestProjectGrantReactivatedAggregate(t *testing.T) {
},
res: res{
eventLen: 1,
eventTypes: []models.EventType{proj_model.ProjectGrantReactivated},
eventTypes: []models.EventType{model.ProjectGrantReactivated},
},
},
{
@@ -2004,7 +2004,7 @@ func TestProjectGrantMemberAddedAggregate(t *testing.T) {
},
res: res{
eventLen: 1,
eventType: proj_model.ProjectGrantMemberAdded,
eventType: model.ProjectGrantMemberAdded,
},
},
{
@@ -2016,7 +2016,7 @@ func TestProjectGrantMemberAddedAggregate(t *testing.T) {
},
res: res{
eventLen: 1,
eventType: proj_model.ProjectGrantMemberAdded,
eventType: model.ProjectGrantMemberAdded,
wantErr: true,
errFunc: caos_errs.IsPreconditionFailed,
},
@@ -2031,7 +2031,7 @@ func TestProjectGrantMemberAddedAggregate(t *testing.T) {
},
res: res{
eventLen: 1,
eventType: proj_model.ProjectGrantMemberAdded,
eventType: model.ProjectGrantMemberAdded,
wantErr: true,
errFunc: caos_errs.IsPreconditionFailed,
},
@@ -2085,7 +2085,7 @@ func TestProjectGrantMemberChangedAggregate(t *testing.T) {
},
res: res{
eventLen: 1,
eventType: proj_model.ProjectGrantMemberChanged,
eventType: model.ProjectGrantMemberChanged,
},
},
{
@@ -2097,7 +2097,7 @@ func TestProjectGrantMemberChangedAggregate(t *testing.T) {
},
res: res{
eventLen: 1,
eventType: proj_model.ProjectGrantMemberChanged,
eventType: model.ProjectGrantMemberChanged,
wantErr: true,
errFunc: caos_errs.IsPreconditionFailed,
},
@@ -2112,7 +2112,7 @@ func TestProjectGrantMemberChangedAggregate(t *testing.T) {
},
res: res{
eventLen: 1,
eventType: proj_model.ProjectGrantMemberChanged,
eventType: model.ProjectGrantMemberChanged,
wantErr: true,
errFunc: caos_errs.IsPreconditionFailed,
},
@@ -2166,7 +2166,7 @@ func TestProjectGrantMemberRemovedAggregate(t *testing.T) {
},
res: res{
eventLen: 1,
eventType: proj_model.ProjectGrantMemberRemoved,
eventType: model.ProjectGrantMemberRemoved,
},
},
{
@@ -2178,7 +2178,7 @@ func TestProjectGrantMemberRemovedAggregate(t *testing.T) {
},
res: res{
eventLen: 1,
eventType: proj_model.ProjectGrantMemberRemoved,
eventType: model.ProjectGrantMemberRemoved,
wantErr: true,
errFunc: caos_errs.IsPreconditionFailed,
},
@@ -2193,7 +2193,7 @@ func TestProjectGrantMemberRemovedAggregate(t *testing.T) {
},
res: res{
eventLen: 1,
eventType: proj_model.ProjectGrantMemberRemoved,
eventType: model.ProjectGrantMemberRemoved,
wantErr: true,
errFunc: caos_errs.IsPreconditionFailed,
},