MCPcopy Index your code
hub / github.com/rilldata/rill / ListOrganizationMemberUsergroups

Method ListOrganizationMemberUsergroups

admin/server/usergroups.go:156–205  ·  view source on GitHub ↗
(ctx context.Context, req *adminv1.ListOrganizationMemberUsergroupsRequest)

Source from the content-addressed store, hash-verified

154}
155
156func (s *Server) ListOrganizationMemberUsergroups(ctx context.Context, req *adminv1.ListOrganizationMemberUsergroupsRequest) (*adminv1.ListOrganizationMemberUsergroupsResponse, error) {
157 observability.AddRequestAttributes(ctx,
158 attribute.String("args.org", req.Org),
159 )
160
161 org, err := s.admin.DB.FindOrganizationByName(ctx, req.Org)
162 if err != nil {
163 return nil, err
164 }
165
166 claims := auth.GetClaims(ctx)
167 if !claims.OrganizationPermissions(ctx, org.ID).ReadOrgMembers {
168 return nil, status.Error(codes.PermissionDenied, "not allowed to list org user groups")
169 }
170
171 token, err := unmarshalPageToken(req.PageToken)
172 if err != nil {
173 return nil, err
174 }
175 pageSize := validPageSize(req.PageSize)
176
177 var roleID string
178 if req.Role != "" {
179 role, err := s.admin.DB.FindOrganizationRole(ctx, req.Role)
180 if err != nil {
181 return nil, err
182 }
183 roleID = role.ID
184 }
185
186 members, err := s.admin.DB.FindOrganizationMemberUsergroups(ctx, org.ID, roleID, req.IncludeCounts, token.Val, pageSize)
187 if err != nil {
188 return nil, err
189 }
190
191 nextToken := ""
192 if len(members) >= pageSize {
193 nextToken = marshalPageToken(members[len(members)-1].Name)
194 }
195
196 dtos := make([]*adminv1.MemberUsergroup, len(members))
197 for i, usergroup := range members {
198 dtos[i] = memberUsergroupToPB(usergroup)
199 }
200
201 return &adminv1.ListOrganizationMemberUsergroupsResponse{
202 Members: dtos,
203 NextPageToken: nextToken,
204 }, nil
205}
206
207func (s *Server) ListProjectMemberUsergroups(ctx context.Context, req *adminv1.ListProjectMemberUsergroupsRequest) (*adminv1.ListProjectMemberUsergroupsResponse, error) {
208 observability.AddRequestAttributes(ctx,

Callers

nothing calls this directly

Calls 12

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

Tested by

no test coverage detected