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

Method GetProjectMemberUser

admin/server/projects.go:1003–1036  ·  view source on GitHub ↗
(ctx context.Context, req *adminv1.GetProjectMemberUserRequest)

Source from the content-addressed store, hash-verified

1001}
1002
1003func (s *Server) GetProjectMemberUser(ctx context.Context, req *adminv1.GetProjectMemberUserRequest) (*adminv1.GetProjectMemberUserResponse, error) {
1004 observability.AddRequestAttributes(ctx,
1005 attribute.String("args.org", req.Org),
1006 attribute.String("args.project", req.Project),
1007 attribute.String("args.email", req.Email),
1008 )
1009
1010 proj, err := s.admin.DB.FindProjectByName(ctx, req.Org, req.Project)
1011 if err != nil {
1012 return nil, err
1013 }
1014
1015 if !auth.GetClaims(ctx).ProjectPermissions(ctx, proj.OrganizationID, proj.ID).ReadProjectMembers {
1016 return nil, status.Error(codes.PermissionDenied, "not allowed to read project members")
1017 }
1018
1019 user, err := s.admin.DB.FindUserByEmail(ctx, req.Email)
1020 if err != nil {
1021 if errors.Is(err, database.ErrNotFound) {
1022 return nil, status.Error(codes.NotFound, "user not found")
1023 }
1024 return nil, err
1025 }
1026
1027 member, err := s.admin.DB.FindProjectMemberUser(ctx, proj.ID, user.ID)
1028 if err != nil {
1029 if errors.Is(err, database.ErrNotFound) {
1030 return nil, status.Error(codes.NotFound, "user is not a member of the project")
1031 }
1032 return nil, err
1033 }
1034
1035 return &adminv1.GetProjectMemberUserResponse{Member: projMemberUserToPB(member)}, nil
1036}
1037
1038func (s *Server) ListProjectMemberUsers(ctx context.Context, req *adminv1.ListProjectMemberUsersRequest) (*adminv1.ListProjectMemberUsersResponse, error) {
1039 observability.AddRequestAttributes(ctx,

Callers

nothing calls this directly

Calls 9

AddRequestAttributesFunction · 0.92
GetClaimsFunction · 0.92
projMemberUserToPBFunction · 0.85
StringMethod · 0.65
FindProjectByNameMethod · 0.65
ProjectPermissionsMethod · 0.65
FindUserByEmailMethod · 0.65
FindProjectMemberUserMethod · 0.65
ErrorMethod · 0.45

Tested by

no test coverage detected