feat: added status in tasks

This commit is contained in:
Андрей Сумин
2025-03-02 16:28:16 +03:00
parent 2a688bcd30
commit 4d07439f27
+9
View File
@@ -2,11 +2,20 @@ from typing import Literal
from uuid import UUID from uuid import UUID
from ninja import ModelSchema, Schema from ninja import ModelSchema, Schema
from pydantic import Field
from apps.task.models import CompetitionTask, CompetitionTaskSubmission, CompetitionTaskAttachment from apps.task.models import CompetitionTask, CompetitionTaskSubmission, CompetitionTaskAttachment
class TaskOutSchema(ModelSchema): class TaskOutSchema(ModelSchema):
status: Literal["sent", "checked", "checking", "not_submitted"] = None
@staticmethod
def resolve_status(self, context) -> Literal["sent", "checked", "checking", "not_submitted"]:
if submission := CompetitionTaskSubmission.objects.filter(task=self, user=context.get("request").auth).first():
return submission.status
return "not_submitted"
class Meta: class Meta:
model = CompetitionTask model = CompetitionTask
fields = [ fields = [