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

Method SearchUsers

admin/server/users.go:72–103  ·  view source on GitHub ↗
(ctx context.Context, req *adminv1.SearchUsersRequest)

Source from the content-addressed store, hash-verified

70}
71
72func (s *Server) SearchUsers(ctx context.Context, req *adminv1.SearchUsersRequest) (*adminv1.SearchUsersResponse, error) {
73 claims := auth.GetClaims(ctx)
74 if !claims.Superuser(ctx) {
75 return nil, status.Error(codes.PermissionDenied, "only superusers can search users by email")
76 }
77
78 token, err := unmarshalPageToken(req.PageToken)
79 if err != nil {
80 return nil, err
81 }
82 pageSize := validPageSize(req.PageSize)
83
84 users, err := s.admin.DB.FindUsersByEmailPattern(ctx, req.EmailPattern, token.Val, pageSize)
85 if err != nil {
86 return nil, err
87 }
88
89 nextToken := ""
90 if len(users) >= pageSize {
91 nextToken = marshalPageToken(users[len(users)-1].Email)
92 }
93
94 dtos := make([]*adminv1.User, len(users))
95 for i, user := range users {
96 dtos[i] = s.userToPB(user, false)
97 }
98
99 return &adminv1.SearchUsersResponse{
100 Users: dtos,
101 NextPageToken: nextToken,
102 }, nil
103}
104
105func (s *Server) GetCurrentUser(ctx context.Context, req *adminv1.GetCurrentUserRequest) (*adminv1.GetCurrentUserResponse, error) {
106 // Return an empty result if not authenticated.

Callers

nothing calls this directly

Calls 8

userToPBMethod · 0.95
GetClaimsFunction · 0.92
unmarshalPageTokenFunction · 0.85
validPageSizeFunction · 0.85
marshalPageTokenFunction · 0.85
SuperuserMethod · 0.65
ErrorMethod · 0.45

Tested by

no test coverage detected