mirror of
https://github.com/zitadel/zitadel.git
synced 2025-10-19 07:33:54 +00:00
fix: app by id, views with computed objects (#583)
* feat: read app by id if my events * fix: handlers if no sublist * fix: removed app * fix: removed project * fix: removed app * fix: removed app * fix: app by id with projectid
This commit is contained in:
@@ -297,12 +297,13 @@ func (repo *ProjectRepo) ProjectChanges(ctx context.Context, id string, lastSequ
|
||||
}
|
||||
|
||||
func (repo *ProjectRepo) ApplicationByID(ctx context.Context, projectID, appID string) (*proj_model.ApplicationView, error) {
|
||||
app, viewErr := repo.View.ApplicationByID(appID)
|
||||
app, viewErr := repo.View.ApplicationByID(projectID, appID)
|
||||
if viewErr != nil && !caos_errs.IsNotFound(viewErr) {
|
||||
return nil, viewErr
|
||||
}
|
||||
if caos_errs.IsNotFound(viewErr) {
|
||||
app = new(model.ApplicationView)
|
||||
app.ID = appID
|
||||
}
|
||||
|
||||
events, esErr := repo.ProjectEvents.ProjectEventsByID(ctx, projectID, app.Sequence)
|
||||
@@ -317,10 +318,13 @@ func (repo *ProjectRepo) ApplicationByID(ctx context.Context, projectID, appID s
|
||||
|
||||
viewApp := *app
|
||||
for _, event := range events {
|
||||
err := app.AppendEvent(event)
|
||||
err := app.AppendEventIfMyApp(event)
|
||||
if err != nil {
|
||||
return model.ApplicationViewToModel(&viewApp), nil
|
||||
}
|
||||
if app.State == int32(proj_model.AppStateRemoved) {
|
||||
return nil, caos_errs.ThrowNotFound(nil, "EVENT-Msl96", "Errors.Application.NotFound")
|
||||
}
|
||||
}
|
||||
return model.ApplicationViewToModel(app), nil
|
||||
}
|
||||
|
@@ -46,7 +46,7 @@ func (p *Application) Reduce(event *models.Event) (err error) {
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
app, err = p.view.ApplicationByID(app.ID)
|
||||
app, err = p.view.ApplicationByID(event.AggregateID, app.ID)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
@@ -87,6 +87,9 @@ func (m *OrgMember) processUser(event *models.Event) (err error) {
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if len(members) == 0 {
|
||||
return m.view.ProcessedOrgMemberSequence(event.Sequence)
|
||||
}
|
||||
user, err := m.userEvents.UserByID(context.Background(), event.AggregateID)
|
||||
if err != nil {
|
||||
return err
|
||||
|
@@ -90,6 +90,9 @@ func (p *ProjectGrantMember) processUser(event *models.Event) (err error) {
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if len(members) == 0 {
|
||||
return p.view.ProcessedProjectGrantMemberSequence(event.Sequence)
|
||||
}
|
||||
user, err := p.userEvents.UserByID(context.Background(), event.AggregateID)
|
||||
if err != nil {
|
||||
return err
|
||||
|
@@ -89,6 +89,9 @@ func (p *ProjectMember) processUser(event *models.Event) (err error) {
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if len(members) == 0 {
|
||||
return p.view.ProcessedProjectGrantMemberSequence(event.Sequence)
|
||||
}
|
||||
user, err := p.userEvents.UserByID(context.Background(), event.AggregateID)
|
||||
if err != nil {
|
||||
return err
|
||||
|
@@ -36,7 +36,7 @@ func (p *ProjectRole) Reduce(event *models.Event) (err error) {
|
||||
role := new(view_model.ProjectRoleView)
|
||||
switch event.Type {
|
||||
case es_model.ProjectRoleAdded:
|
||||
role.AppendEvent(event)
|
||||
err = role.AppendEvent(event)
|
||||
case es_model.ProjectRoleChanged:
|
||||
err := role.SetData(event)
|
||||
if err != nil {
|
||||
|
@@ -97,6 +97,9 @@ func (u *UserGrant) processUser(event *models.Event) (err error) {
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if len(grants) == 0 {
|
||||
return u.view.ProcessedUserGrantSequence(event.Sequence)
|
||||
}
|
||||
user, err := u.userEvents.UserByID(context.Background(), event.AggregateID)
|
||||
if err != nil {
|
||||
return err
|
||||
@@ -121,6 +124,9 @@ func (u *UserGrant) processProject(event *models.Event) (err error) {
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if len(grants) == 0 {
|
||||
return u.view.ProcessedUserGrantSequence(event.Sequence)
|
||||
}
|
||||
project, err := u.projectEvents.ProjectByID(context.Background(), event.AggregateID)
|
||||
if err != nil {
|
||||
return err
|
||||
|
@@ -11,8 +11,8 @@ const (
|
||||
applicationTable = "management.applications"
|
||||
)
|
||||
|
||||
func (v *View) ApplicationByID(appID string) (*model.ApplicationView, error) {
|
||||
return view.ApplicationByID(v.Db, applicationTable, appID)
|
||||
func (v *View) ApplicationByID(projectID, appID string) (*model.ApplicationView, error) {
|
||||
return view.ApplicationByID(v.Db, applicationTable, projectID, appID)
|
||||
}
|
||||
|
||||
func (v *View) ApplicationsByProjectID(ProjectID string) ([]*model.ApplicationView, error) {
|
||||
|
Reference in New Issue
Block a user