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

Method DenyProjectAccess

admin/server/projects.go:1732–1778  ·  view source on GitHub ↗
(ctx context.Context, req *adminv1.DenyProjectAccessRequest)

Source from the content-addressed store, hash-verified

1730}
1731
1732func (s *Server) DenyProjectAccess(ctx context.Context, req *adminv1.DenyProjectAccessRequest) (*adminv1.DenyProjectAccessResponse, error) {
1733 observability.AddRequestAttributes(ctx,
1734 attribute.String("args.id", req.Id),
1735 )
1736
1737 accessReq, err := s.admin.DB.FindProjectAccessRequestByID(ctx, req.Id)
1738 if err != nil {
1739 return nil, err
1740 }
1741
1742 proj, err := s.admin.DB.FindProject(ctx, accessReq.ProjectID)
1743 if err != nil {
1744 return nil, err
1745 }
1746
1747 claims := auth.GetClaims(ctx)
1748 if !claims.ProjectPermissions(ctx, proj.OrganizationID, proj.ID).ManageProjectMembers {
1749 return nil, status.Error(codes.PermissionDenied, "not allowed to set project member roles")
1750 }
1751
1752 user, err := s.admin.DB.FindUser(ctx, accessReq.UserID)
1753 if err != nil {
1754 return nil, err
1755 }
1756 org, err := s.admin.DB.FindOrganization(ctx, proj.OrganizationID)
1757 if err != nil {
1758 return nil, err
1759 }
1760
1761 // remove the invitation
1762 err = s.admin.DB.DeleteProjectAccessRequest(ctx, req.Id)
1763 if err != nil {
1764 return nil, err
1765 }
1766
1767 err = s.admin.Email.SendProjectAccessRejected(&email.ProjectAccessRejected{
1768 ToEmail: user.Email,
1769 ToName: user.DisplayName,
1770 OrgName: org.Name,
1771 ProjectName: proj.Name,
1772 })
1773 if err != nil {
1774 return nil, err
1775 }
1776
1777 return &adminv1.DenyProjectAccessResponse{}, nil
1778}
1779
1780// getAndCheckGithubInstallationID returns a valid installation ID iff app is installed and user is a collaborator of the repo
1781func (s *Server) getAndCheckGithubInstallationID(ctx context.Context, gitRemote, userID string) (repoID, installationID int64, err error) {

Callers

nothing calls this directly

Calls 11

AddRequestAttributesFunction · 0.92
GetClaimsFunction · 0.92
StringMethod · 0.65
FindProjectMethod · 0.65
ProjectPermissionsMethod · 0.65
FindUserMethod · 0.65
FindOrganizationMethod · 0.65
ErrorMethod · 0.45

Tested by

no test coverage detected