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

Method ListUsergroupMemberUsers

admin/server/usergroups.go:656–697  ·  view source on GitHub ↗
(ctx context.Context, req *adminv1.ListUsergroupMemberUsersRequest)

Source from the content-addressed store, hash-verified

654}
655
656func (s *Server) ListUsergroupMemberUsers(ctx context.Context, req *adminv1.ListUsergroupMemberUsersRequest) (*adminv1.ListUsergroupMemberUsersResponse, error) {
657 observability.AddRequestAttributes(ctx,
658 attribute.String("args.org", req.Org),
659 attribute.String("args.usergroup", req.Usergroup),
660 )
661
662 group, err := s.admin.DB.FindUsergroupByName(ctx, req.Org, req.Usergroup)
663 if err != nil {
664 return nil, err
665 }
666
667 claims := auth.GetClaims(ctx)
668 if !claims.OrganizationPermissions(ctx, group.OrgID).ReadOrgMembers {
669 return nil, status.Error(codes.PermissionDenied, "not allowed to list user group members")
670 }
671
672 token, err := unmarshalPageToken(req.PageToken)
673 if err != nil {
674 return nil, err
675 }
676 pageSize := validPageSize(req.PageSize)
677
678 members, err := s.admin.DB.FindUsergroupMemberUsers(ctx, group.ID, token.Val, pageSize)
679 if err != nil {
680 return nil, err
681 }
682
683 nextToken := ""
684 if len(members) >= pageSize {
685 nextToken = marshalPageToken(members[len(members)-1].Email)
686 }
687
688 dtos := make([]*adminv1.UsergroupMemberUser, len(members))
689 for i, member := range members {
690 dtos[i] = usergroupMemberUserToPB(member)
691 }
692
693 return &adminv1.ListUsergroupMemberUsersResponse{
694 Members: dtos,
695 NextPageToken: nextToken,
696 }, nil
697}
698
699func (s *Server) ListUsergroupsForProjectAndUser(ctx context.Context, req *adminv1.ListUsergroupsForProjectAndUserRequest) (*adminv1.ListUsergroupsForProjectAndUserResponse, error) {
700 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
usergroupMemberUserToPBFunction · 0.85
StringMethod · 0.65
FindUsergroupByNameMethod · 0.65
ErrorMethod · 0.45

Tested by

no test coverage detected