mirror of
https://github.com/zitadel/zitadel.git
synced 2025-08-12 07:47:32 +00:00
fix: project grants (#4031)
* fix: filter granted memberships correctly * fix: only show changes of granted project * Apply suggestions from code review Co-authored-by: Fabi <38692350+hifabienne@users.noreply.github.com> * Update internal/query/user_membership.go Co-authored-by: Fabi <38692350+hifabienne@users.noreply.github.com> Co-authored-by: Fabi <38692350+hifabienne@users.noreply.github.com>
This commit is contained in:
@@ -177,8 +177,12 @@ func (s *Server) ListMyProjectOrgs(ctx context.Context, req *auth_pb.ListMyProje
|
||||
|
||||
if !isIAMAdmin(memberships.Memberships) {
|
||||
ids := make([]string, 0, len(memberships.Memberships))
|
||||
for _, grant := range memberships.Memberships {
|
||||
ids = appendIfNotExists(ids, grant.ResourceOwner)
|
||||
for _, membership := range memberships.Memberships {
|
||||
orgID := membership.ResourceOwner
|
||||
if membership.ProjectGrant != nil && membership.ProjectGrant.GrantedOrgID != "" {
|
||||
orgID = membership.ProjectGrant.GrantedOrgID
|
||||
}
|
||||
ids = appendIfNotExists(ids, orgID)
|
||||
}
|
||||
|
||||
idsQuery, err := query.NewOrgIDsSearchQuery(ids...)
|
||||
|
@@ -55,6 +55,17 @@ func (s *Server) ListProjects(ctx context.Context, req *mgmt_pb.ListProjectsRequ
|
||||
}, nil
|
||||
}
|
||||
|
||||
func (s *Server) ListProjectGrantChanges(ctx context.Context, req *mgmt_pb.ListProjectGrantChangesRequest) (*mgmt_pb.ListProjectGrantChangesResponse, error) {
|
||||
sequence, limit, asc := change_grpc.ChangeQueryToQuery(req.Query)
|
||||
res, err := s.query.ProjectGrantChanges(ctx, req.ProjectId, req.GrantId, sequence, limit, asc, s.auditLogRetention)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &mgmt_pb.ListProjectGrantChangesResponse{
|
||||
Result: change_grpc.ChangesToPb(res.Changes, s.assetAPIPrefix(ctx)),
|
||||
}, nil
|
||||
}
|
||||
|
||||
func (s *Server) ListGrantedProjects(ctx context.Context, req *mgmt_pb.ListGrantedProjectsRequest) (*mgmt_pb.ListGrantedProjectsResponse, error) {
|
||||
queries, err := listGrantedProjectsRequestToModel(req)
|
||||
if err != nil {
|
||||
|
Reference in New Issue
Block a user