(ctx context.Context, req *adminv1.GetProjectAccessRequestRequest)
| 1619 | } |
| 1620 | |
| 1621 | func (s *Server) GetProjectAccessRequest(ctx context.Context, req *adminv1.GetProjectAccessRequestRequest) (*adminv1.GetProjectAccessRequestResponse, error) { |
| 1622 | observability.AddRequestAttributes(ctx, |
| 1623 | attribute.String("args.id", req.Id), |
| 1624 | ) |
| 1625 | |
| 1626 | accessReq, err := s.admin.DB.FindProjectAccessRequestByID(ctx, req.Id) |
| 1627 | if err != nil { |
| 1628 | return nil, err |
| 1629 | } |
| 1630 | |
| 1631 | proj, err := s.admin.DB.FindProject(ctx, accessReq.ProjectID) |
| 1632 | if err != nil { |
| 1633 | return nil, err |
| 1634 | } |
| 1635 | |
| 1636 | claims := auth.GetClaims(ctx) |
| 1637 | // for now only admins can view these. |
| 1638 | if !claims.ProjectPermissions(ctx, proj.OrganizationID, proj.ID).ManageProjectMembers { |
| 1639 | return nil, status.Error(codes.PermissionDenied, "not allowed to view project access request") |
| 1640 | } |
| 1641 | |
| 1642 | user, err := s.admin.DB.FindUser(ctx, accessReq.UserID) |
| 1643 | if err != nil { |
| 1644 | return nil, err |
| 1645 | } |
| 1646 | |
| 1647 | return &adminv1.GetProjectAccessRequestResponse{Email: user.Email}, nil |
| 1648 | } |
| 1649 | |
| 1650 | func (s *Server) ApproveProjectAccess(ctx context.Context, req *adminv1.ApproveProjectAccessRequest) (*adminv1.ApproveProjectAccessResponse, error) { |
| 1651 | observability.AddRequestAttributes(ctx, |
nothing calls this directly
no test coverage detected