MCPcopy Create free account
hub / github.com/rilldata/rill / RemoveOrganizationMemberUsergroup

Method RemoveOrganizationMemberUsergroup

admin/server/usergroups.go:369–403  ·  view source on GitHub ↗
(ctx context.Context, req *adminv1.RemoveOrganizationMemberUsergroupRequest)

Source from the content-addressed store, hash-verified

367}
368
369func (s *Server) RemoveOrganizationMemberUsergroup(ctx context.Context, req *adminv1.RemoveOrganizationMemberUsergroupRequest) (*adminv1.RemoveOrganizationMemberUsergroupResponse, error) {
370 observability.AddRequestAttributes(ctx,
371 attribute.String("args.org", req.Org),
372 attribute.String("args.usergroup", req.Usergroup),
373 )
374
375 usergroup, err := s.admin.DB.FindUsergroupByName(ctx, req.Org, req.Usergroup)
376 if err != nil {
377 return nil, err
378 }
379
380 claims := auth.GetClaims(ctx)
381 if !claims.OrganizationPermissions(ctx, usergroup.OrgID).ManageOrgMembers {
382 return nil, status.Error(codes.PermissionDenied, "not allowed to revoke org user group role")
383 }
384
385 if usergroup.Managed {
386 return nil, status.Error(codes.FailedPrecondition, "cannot edit managed user group")
387 }
388
389 currentRole, err := s.admin.DB.FindOrganizationMemberUsergroupRole(ctx, usergroup.ID, usergroup.OrgID)
390 if err != nil && !errors.Is(err, database.ErrNotFound) {
391 return nil, err
392 }
393 if currentRole != nil && currentRole.Admin && !claims.OrganizationPermissions(ctx, usergroup.OrgID).ManageOrgAdmins {
394 return nil, status.Error(codes.PermissionDenied, "as a non-admin you are not allowed to remove an admin role")
395 }
396
397 err = s.admin.DB.DeleteOrganizationMemberUsergroup(ctx, usergroup.ID, usergroup.OrgID)
398 if err != nil {
399 return nil, err
400 }
401
402 return &adminv1.RemoveOrganizationMemberUsergroupResponse{}, nil
403}
404
405func (s *Server) AddProjectMemberUsergroup(ctx context.Context, req *adminv1.AddProjectMemberUsergroupRequest) (*adminv1.AddProjectMemberUsergroupResponse, error) {
406 observability.AddRequestAttributes(ctx,

Callers

nothing calls this directly

Calls 8

AddRequestAttributesFunction · 0.92
GetClaimsFunction · 0.92
StringMethod · 0.65
FindUsergroupByNameMethod · 0.65
ErrorMethod · 0.45

Tested by

no test coverage detected