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

Method ListProjectInvites

admin/server/projects.go:1091–1133  ·  view source on GitHub ↗
(ctx context.Context, req *adminv1.ListProjectInvitesRequest)

Source from the content-addressed store, hash-verified

1089}
1090
1091func (s *Server) ListProjectInvites(ctx context.Context, req *adminv1.ListProjectInvitesRequest) (*adminv1.ListProjectInvitesResponse, error) {
1092 observability.AddRequestAttributes(ctx,
1093 attribute.String("args.org", req.Org),
1094 attribute.String("args.project", req.Project),
1095 )
1096
1097 proj, err := s.admin.DB.FindProjectByName(ctx, req.Org, req.Project)
1098 if err != nil {
1099 return nil, err
1100 }
1101
1102 claims := auth.GetClaims(ctx)
1103 if !claims.ProjectPermissions(ctx, proj.OrganizationID, proj.ID).ReadProjectMembers {
1104 return nil, status.Error(codes.PermissionDenied, "not authorized to read project members")
1105 }
1106
1107 token, err := unmarshalPageToken(req.PageToken)
1108 if err != nil {
1109 return nil, err
1110 }
1111 pageSize := validPageSize(req.PageSize)
1112
1113 // get pending user invites for this project
1114 userInvites, err := s.admin.DB.FindProjectInvites(ctx, proj.ID, token.Val, pageSize)
1115 if err != nil {
1116 return nil, err
1117 }
1118
1119 nextToken := ""
1120 if len(userInvites) >= pageSize {
1121 nextToken = marshalPageToken(userInvites[len(userInvites)-1].Email)
1122 }
1123
1124 invitesDtos := make([]*adminv1.ProjectInvite, len(userInvites))
1125 for i, invite := range userInvites {
1126 invitesDtos[i] = projInviteToPB(invite)
1127 }
1128
1129 return &adminv1.ListProjectInvitesResponse{
1130 Invites: invitesDtos,
1131 NextPageToken: nextToken,
1132 }, nil
1133}
1134
1135func (s *Server) AddProjectMemberUser(ctx context.Context, req *adminv1.AddProjectMemberUserRequest) (*adminv1.AddProjectMemberUserResponse, error) {
1136 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
projInviteToPBFunction · 0.85
StringMethod · 0.65
FindProjectByNameMethod · 0.65
ProjectPermissionsMethod · 0.65
FindProjectInvitesMethod · 0.65
ErrorMethod · 0.45

Tested by

no test coverage detected