diff --git a/src/backend/api/v1/reviews/endpoints.py b/src/backend/api/v1/reviews/endpoints.py index 444702a..5d6323b 100644 --- a/src/backend/api/v1/reviews/endpoints.py +++ b/src/backend/api/v1/reviews/endpoints.py @@ -1,4 +1,5 @@ from http import HTTPStatus +from uuid import UUID from django.core.exceptions import ValidationError from django.http import Http404, HttpRequest @@ -101,7 +102,7 @@ def create_approver_group( @require_admin def get_approver_group( request: HttpRequest, - group_id: str, + group_id: UUID, ) -> tuple[HTTPStatus, ApproverGroupOut]: group = get_object_or_404( ApproverGroup.objects.select_related("experimenter").prefetch_related( @@ -124,7 +125,7 @@ def get_approver_group( @require_admin def update_approver_group( request: HttpRequest, - group_id: str, + group_id: UUID, payload: ApproverGroupUpdateIn, ) -> tuple[HTTPStatus, ApproverGroupOut]: group = get_object_or_404( @@ -160,7 +161,7 @@ def update_approver_group( @require_admin def delete_approver_group( request: HttpRequest, - group_id: str, + group_id: UUID, ) -> tuple[HTTPStatus, None]: group = get_object_or_404( ApproverGroup.objects.select_related("experimenter").prefetch_related( @@ -184,7 +185,7 @@ def delete_approver_group( @require_admin def add_approver_to_group( request: HttpRequest, - group_id: str, + group_id: UUID, payload: ApproverGroupAddApproverIn, ) -> tuple[HTTPStatus, ApproverGroupOut]: group = get_object_or_404( @@ -218,7 +219,7 @@ def add_approver_to_group( @require_admin def remove_approver_from_group( request: HttpRequest, - group_id: str, + group_id: UUID, payload: ApproverGroupRemoveApproverIn, ) -> tuple[HTTPStatus, ApproverGroupOut]: group = get_object_or_404( @@ -252,9 +253,9 @@ def remove_approver_from_group( @require_admin def get_approver_group_by_experimenter( request: HttpRequest, - experimenter_id: str, + experimenter_id: UUID, ) -> tuple[HTTPStatus, ApproverGroupOut]: - group = approver_group_get_by_experimenter_id(experimenter_id) + group = approver_group_get_by_experimenter_id(str(experimenter_id)) if group is None: raise Http404 @@ -311,7 +312,7 @@ def update_review_settings( ) def get_effective_policy( request: HttpRequest, - experimenter_id: str, + experimenter_id: UUID, ) -> tuple[HTTPStatus, EffectiveReviewPolicyOut]: experimenter = get_object_or_404(User, pk=experimenter_id) @@ -330,7 +331,7 @@ def get_effective_policy( ) has_group = ( - approver_group_get_by_experimenter_id(experimenter_id) is not None + approver_group_get_by_experimenter_id(str(experimenter_id)) is not None ) return HTTPStatus.OK, EffectiveReviewPolicyOut( diff --git a/src/backend/api/v1/users/endpoints.py b/src/backend/api/v1/users/endpoints.py index 1bff7be..9ece296 100644 --- a/src/backend/api/v1/users/endpoints.py +++ b/src/backend/api/v1/users/endpoints.py @@ -1,4 +1,5 @@ from http import HTTPStatus +from uuid import UUID from django.core.exceptions import ValidationError from django.http import HttpRequest @@ -81,7 +82,7 @@ def create_user( @require_admin def get_user( request: HttpRequest, - user_id: str, + user_id: UUID, ) -> tuple[HTTPStatus, UserOut]: user = get_object_or_404(User, pk=user_id) return HTTPStatus.OK, UserOut.model_validate(user) @@ -100,7 +101,7 @@ def get_user( @require_admin def update_user( request: HttpRequest, - user_id: str, + user_id: UUID, payload: UserUpdateIn, ) -> tuple[HTTPStatus, UserOut]: user = get_object_or_404(User, pk=user_id) @@ -119,7 +120,7 @@ def update_user( @require_admin def delete_user( request: HttpRequest, - user_id: str, + user_id: UUID, ) -> tuple[HTTPStatus, None]: user = get_object_or_404(User, pk=user_id) @@ -144,7 +145,7 @@ def delete_user( @require_admin def assign_role( request: HttpRequest, - user_id: str, + user_id: UUID, payload: UserRoleAssignIn, ) -> tuple[HTTPStatus, UserOut]: user = get_object_or_404(User, pk=user_id) diff --git a/src/backend/apps/reviews/services.py b/src/backend/apps/reviews/services.py index 19ce1d2..22aa199 100644 --- a/src/backend/apps/reviews/services.py +++ b/src/backend/apps/reviews/services.py @@ -1,11 +1,11 @@ from typing import Any -from config.errors import ConflictError from django.core.exceptions import ValidationError from django.db import transaction from apps.reviews.models import ApproverGroup, ReviewSettings from apps.users.models import User, UserRole +from config.errors import ConflictError def review_settings_update(