(self, request: Request, pk: str, user_id: str)
| 152 | url_name="user-detailed-permissions", |
| 153 | ) |
| 154 | def detailed_permissions(self, request: Request, pk: str, user_id: str) -> Response: |
| 155 | project = self.get_object() |
| 156 | user = request.user |
| 157 | user_id_int = int(user_id) |
| 158 | |
| 159 | if request.user.id != user_id_int: |
| 160 | if not request.user.is_project_admin(project): # type: ignore[union-attr] |
| 161 | # Only project admin can get permissions of other users |
| 162 | raise PermissionDenied() |
| 163 | |
| 164 | user = get_object_or_404(FFAdminUser, id=user_id_int) |
| 165 | |
| 166 | permission_data = get_project_permission_data(project, user) # type: ignore[arg-type] |
| 167 | |
| 168 | serializer = UserDetailedPermissionsSerializer( |
| 169 | permission_data.to_detailed_permissions_data() |
| 170 | ) |
| 171 | return Response(serializer.data) |
| 172 | |
| 173 | @extend_schema(responses={200: UserObjectPermissionsSerializer}) |
| 174 | @action( |
nothing calls this directly
no test coverage detected