(ctx context.Context, req *adminv1.UpdateUsergroupRequest)
| 109 | } |
| 110 | |
| 111 | func (s *Server) UpdateUsergroup(ctx context.Context, req *adminv1.UpdateUsergroupRequest) (*adminv1.UpdateUsergroupResponse, error) { |
| 112 | observability.AddRequestAttributes(ctx, |
| 113 | attribute.String("args.org", req.Org), |
| 114 | attribute.String("args.usergroup", req.Usergroup), |
| 115 | ) |
| 116 | if req.NewName != nil { |
| 117 | observability.AddRequestAttributes(ctx, attribute.String("args.new_name", *req.NewName)) |
| 118 | } |
| 119 | if req.Description != nil { |
| 120 | observability.AddRequestAttributes(ctx, attribute.String("args.description", *req.Description)) |
| 121 | } |
| 122 | |
| 123 | usergroup, err := s.admin.DB.FindUsergroupByName(ctx, req.Org, req.Usergroup) |
| 124 | if err != nil { |
| 125 | return nil, err |
| 126 | } |
| 127 | |
| 128 | claims := auth.GetClaims(ctx) |
| 129 | if !claims.OrganizationPermissions(ctx, usergroup.OrgID).ManageOrgMembers { |
| 130 | return nil, status.Error(codes.PermissionDenied, "not allowed to update org user group") |
| 131 | } |
| 132 | |
| 133 | if usergroup.Managed { |
| 134 | return nil, status.Error(codes.FailedPrecondition, "cannot edit managed user group") |
| 135 | } |
| 136 | |
| 137 | if req.NewName != nil { |
| 138 | usergroup, err = s.admin.DB.UpdateUsergroupName(ctx, *req.NewName, usergroup.ID) |
| 139 | if err != nil { |
| 140 | return nil, err |
| 141 | } |
| 142 | } |
| 143 | |
| 144 | if req.Description != nil { |
| 145 | usergroup, err = s.admin.DB.UpdateUsergroupDescription(ctx, *req.Description, usergroup.ID) |
| 146 | if err != nil { |
| 147 | return nil, err |
| 148 | } |
| 149 | } |
| 150 | |
| 151 | return &adminv1.UpdateUsergroupResponse{ |
| 152 | Usergroup: usergroupToPB(usergroup), |
| 153 | }, nil |
| 154 | } |
| 155 | |
| 156 | func (s *Server) ListOrganizationMemberUsergroups(ctx context.Context, req *adminv1.ListOrganizationMemberUsergroupsRequest) (*adminv1.ListOrganizationMemberUsergroupsResponse, error) { |
| 157 | observability.AddRequestAttributes(ctx, |
nothing calls this directly
no test coverage detected