mirror of
https://gitlab.com/megazordpobeda/DataRush.git
synced 2026-05-23 03:57:09 +00:00
feat: added review logic
This commit is contained in:
@@ -4,8 +4,8 @@ from uuid import UUID
|
||||
from django.http import HttpRequest
|
||||
from ninja import ModelSchema, Schema
|
||||
|
||||
from apps.review.models import Reviewer
|
||||
from apps.task.models import CompetetionTaskSumbission
|
||||
from apps.review.models import Reviewer, Review
|
||||
from apps.task.models import CompetitionTaskSubmission
|
||||
|
||||
|
||||
class PingOut(Schema):
|
||||
@@ -25,13 +25,13 @@ class SubmissionOut(ModelSchema):
|
||||
status: Literal["sent", "checking", "checked"]
|
||||
|
||||
class Meta:
|
||||
model = CompetetionTaskSumbission
|
||||
model = CompetitionTaskSubmission
|
||||
exclude = ("user",)
|
||||
|
||||
|
||||
class SubmissionsOut(Schema):
|
||||
submissions: list[SubmissionOut] = []
|
||||
submissions: list = None
|
||||
|
||||
@staticmethod
|
||||
def resolve_submissions(self, context: HttpRequest) -> list[SubmissionOut]:
|
||||
return list(CompetetionTaskSumbission.objects.all())
|
||||
def resolve_submissions(self, context) -> list[SubmissionOut]:
|
||||
return list(Review.objects.filter(reviewer=context.get("request").auth))
|
||||
@@ -1,10 +1,15 @@
|
||||
import logging
|
||||
from http import HTTPStatus as status
|
||||
from uuid import UUID
|
||||
|
||||
from django.http import HttpRequest
|
||||
from django.shortcuts import get_object_or_404
|
||||
from ninja import Router
|
||||
|
||||
from api.v1 import schemas as global_schemas
|
||||
from api.v1.review import schemas
|
||||
from api.v1.task.schemas import TaskSubmissionIn
|
||||
from apps.task.models import CompetitionTaskSubmission
|
||||
|
||||
router = Router(tags=["review"])
|
||||
|
||||
@@ -16,7 +21,7 @@ router = Router(tags=["review"])
|
||||
},
|
||||
description="Список отправок, на проверку которых назначен ревьюер"
|
||||
)
|
||||
def get_submissions(request: HttpRequest, token) -> tuple[status, schemas.SubmissionsOut]:
|
||||
def get_submissions(request: HttpRequest, token: str) -> tuple[status, schemas.SubmissionsOut]:
|
||||
return status.OK, schemas.SubmissionsOut()
|
||||
|
||||
|
||||
@@ -30,3 +35,13 @@ def get_submissions(request: HttpRequest, token) -> tuple[status, schemas.Submis
|
||||
)
|
||||
def get_reviewer_profile(request: HttpRequest, token: str):
|
||||
return status.OK, request.auth
|
||||
|
||||
@router.get(
|
||||
"{token}/submissions/{submition_id}",
|
||||
response={
|
||||
status.OK: schemas.SubmissionOut,
|
||||
},
|
||||
)
|
||||
def get_submission(request: HttpRequest, token: str, submition_id: UUID) -> tuple[status, schemas.SubmissionsOut]:
|
||||
submission = get_object_or_404(CompetitionTaskSubmission, id=submition_id)
|
||||
return status.OK, submission
|
||||
|
||||
Reference in New Issue
Block a user