chore(api): typing improvements

This commit is contained in:
ITQ
2026-02-13 10:56:03 +03:00
parent 94d99c72e6
commit 5334274f9b
3 changed files with 16 additions and 14 deletions
+10 -9
View File
@@ -1,4 +1,5 @@
from http import HTTPStatus from http import HTTPStatus
from uuid import UUID
from django.core.exceptions import ValidationError from django.core.exceptions import ValidationError
from django.http import Http404, HttpRequest from django.http import Http404, HttpRequest
@@ -101,7 +102,7 @@ def create_approver_group(
@require_admin @require_admin
def get_approver_group( def get_approver_group(
request: HttpRequest, request: HttpRequest,
group_id: str, group_id: UUID,
) -> tuple[HTTPStatus, ApproverGroupOut]: ) -> tuple[HTTPStatus, ApproverGroupOut]:
group = get_object_or_404( group = get_object_or_404(
ApproverGroup.objects.select_related("experimenter").prefetch_related( ApproverGroup.objects.select_related("experimenter").prefetch_related(
@@ -124,7 +125,7 @@ def get_approver_group(
@require_admin @require_admin
def update_approver_group( def update_approver_group(
request: HttpRequest, request: HttpRequest,
group_id: str, group_id: UUID,
payload: ApproverGroupUpdateIn, payload: ApproverGroupUpdateIn,
) -> tuple[HTTPStatus, ApproverGroupOut]: ) -> tuple[HTTPStatus, ApproverGroupOut]:
group = get_object_or_404( group = get_object_or_404(
@@ -160,7 +161,7 @@ def update_approver_group(
@require_admin @require_admin
def delete_approver_group( def delete_approver_group(
request: HttpRequest, request: HttpRequest,
group_id: str, group_id: UUID,
) -> tuple[HTTPStatus, None]: ) -> tuple[HTTPStatus, None]:
group = get_object_or_404( group = get_object_or_404(
ApproverGroup.objects.select_related("experimenter").prefetch_related( ApproverGroup.objects.select_related("experimenter").prefetch_related(
@@ -184,7 +185,7 @@ def delete_approver_group(
@require_admin @require_admin
def add_approver_to_group( def add_approver_to_group(
request: HttpRequest, request: HttpRequest,
group_id: str, group_id: UUID,
payload: ApproverGroupAddApproverIn, payload: ApproverGroupAddApproverIn,
) -> tuple[HTTPStatus, ApproverGroupOut]: ) -> tuple[HTTPStatus, ApproverGroupOut]:
group = get_object_or_404( group = get_object_or_404(
@@ -218,7 +219,7 @@ def add_approver_to_group(
@require_admin @require_admin
def remove_approver_from_group( def remove_approver_from_group(
request: HttpRequest, request: HttpRequest,
group_id: str, group_id: UUID,
payload: ApproverGroupRemoveApproverIn, payload: ApproverGroupRemoveApproverIn,
) -> tuple[HTTPStatus, ApproverGroupOut]: ) -> tuple[HTTPStatus, ApproverGroupOut]:
group = get_object_or_404( group = get_object_or_404(
@@ -252,9 +253,9 @@ def remove_approver_from_group(
@require_admin @require_admin
def get_approver_group_by_experimenter( def get_approver_group_by_experimenter(
request: HttpRequest, request: HttpRequest,
experimenter_id: str, experimenter_id: UUID,
) -> tuple[HTTPStatus, ApproverGroupOut]: ) -> 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: if group is None:
raise Http404 raise Http404
@@ -311,7 +312,7 @@ def update_review_settings(
) )
def get_effective_policy( def get_effective_policy(
request: HttpRequest, request: HttpRequest,
experimenter_id: str, experimenter_id: UUID,
) -> tuple[HTTPStatus, EffectiveReviewPolicyOut]: ) -> tuple[HTTPStatus, EffectiveReviewPolicyOut]:
experimenter = get_object_or_404(User, pk=experimenter_id) experimenter = get_object_or_404(User, pk=experimenter_id)
@@ -330,7 +331,7 @@ def get_effective_policy(
) )
has_group = ( 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( return HTTPStatus.OK, EffectiveReviewPolicyOut(
+5 -4
View File
@@ -1,4 +1,5 @@
from http import HTTPStatus from http import HTTPStatus
from uuid import UUID
from django.core.exceptions import ValidationError from django.core.exceptions import ValidationError
from django.http import HttpRequest from django.http import HttpRequest
@@ -81,7 +82,7 @@ def create_user(
@require_admin @require_admin
def get_user( def get_user(
request: HttpRequest, request: HttpRequest,
user_id: str, user_id: UUID,
) -> tuple[HTTPStatus, UserOut]: ) -> tuple[HTTPStatus, UserOut]:
user = get_object_or_404(User, pk=user_id) user = get_object_or_404(User, pk=user_id)
return HTTPStatus.OK, UserOut.model_validate(user) return HTTPStatus.OK, UserOut.model_validate(user)
@@ -100,7 +101,7 @@ def get_user(
@require_admin @require_admin
def update_user( def update_user(
request: HttpRequest, request: HttpRequest,
user_id: str, user_id: UUID,
payload: UserUpdateIn, payload: UserUpdateIn,
) -> tuple[HTTPStatus, UserOut]: ) -> tuple[HTTPStatus, UserOut]:
user = get_object_or_404(User, pk=user_id) user = get_object_or_404(User, pk=user_id)
@@ -119,7 +120,7 @@ def update_user(
@require_admin @require_admin
def delete_user( def delete_user(
request: HttpRequest, request: HttpRequest,
user_id: str, user_id: UUID,
) -> tuple[HTTPStatus, None]: ) -> tuple[HTTPStatus, None]:
user = get_object_or_404(User, pk=user_id) user = get_object_or_404(User, pk=user_id)
@@ -144,7 +145,7 @@ def delete_user(
@require_admin @require_admin
def assign_role( def assign_role(
request: HttpRequest, request: HttpRequest,
user_id: str, user_id: UUID,
payload: UserRoleAssignIn, payload: UserRoleAssignIn,
) -> tuple[HTTPStatus, UserOut]: ) -> tuple[HTTPStatus, UserOut]:
user = get_object_or_404(User, pk=user_id) user = get_object_or_404(User, pk=user_id)
+1 -1
View File
@@ -1,11 +1,11 @@
from typing import Any from typing import Any
from config.errors import ConflictError
from django.core.exceptions import ValidationError from django.core.exceptions import ValidationError
from django.db import transaction from django.db import transaction
from apps.reviews.models import ApproverGroup, ReviewSettings from apps.reviews.models import ApproverGroup, ReviewSettings
from apps.users.models import User, UserRole from apps.users.models import User, UserRole
from config.errors import ConflictError
def review_settings_update( def review_settings_update(