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

Method ListUsergroupsForOrganizationAndUser

admin/server/usergroups.go:18–58  ·  view source on GitHub ↗
(ctx context.Context, req *adminv1.ListUsergroupsForOrganizationAndUserRequest)

Source from the content-addressed store, hash-verified

16)
17
18func (s *Server) ListUsergroupsForOrganizationAndUser(ctx context.Context, req *adminv1.ListUsergroupsForOrganizationAndUserRequest) (*adminv1.ListUsergroupsForOrganizationAndUserResponse, error) {
19 observability.AddRequestAttributes(ctx,
20 attribute.String("args.org", req.Org),
21 attribute.String("args.user_id", req.UserId),
22 )
23
24 org, err := s.admin.DB.FindOrganizationByName(ctx, req.Org)
25 if err != nil {
26 return nil, err
27 }
28
29 if !auth.GetClaims(ctx).OrganizationPermissions(ctx, org.ID).ReadOrgMembers {
30 return nil, status.Error(codes.PermissionDenied, "not allowed to list user groups for user")
31 }
32
33 pageToken, err := unmarshalPageToken(req.PageToken)
34 if err != nil {
35 return nil, err
36 }
37 pageSize := validPageSize(req.PageSize)
38
39 usergroups, err := s.admin.DB.FindUsergroupsForOrganizationAndUser(ctx, org.ID, req.UserId, pageToken.Val, pageSize)
40 if err != nil {
41 return nil, err
42 }
43
44 nextToken := ""
45 if len(usergroups) >= pageSize {
46 nextToken = marshalPageToken(usergroups[len(usergroups)-1].Name)
47 }
48
49 dtos := make([]*adminv1.Usergroup, len(usergroups))
50 for i, group := range usergroups {
51 dtos[i] = usergroupToPB(group)
52 }
53
54 return &adminv1.ListUsergroupsForOrganizationAndUserResponse{
55 Usergroups: dtos,
56 NextPageToken: nextToken,
57 }, nil
58}
59
60func (s *Server) CreateUsergroup(ctx context.Context, req *adminv1.CreateUsergroupRequest) (*adminv1.CreateUsergroupResponse, error) {
61 observability.AddRequestAttributes(ctx,

Callers

nothing calls this directly

Calls 11

AddRequestAttributesFunction · 0.92
GetClaimsFunction · 0.92
unmarshalPageTokenFunction · 0.85
validPageSizeFunction · 0.85
marshalPageTokenFunction · 0.85
usergroupToPBFunction · 0.85
StringMethod · 0.65
ErrorMethod · 0.45

Tested by

no test coverage detected