mirror of
https://gitlab.com/megazordpobeda/DataRush.git
synced 2026-05-23 03:57:09 +00:00
feat: added status in tasks
This commit is contained in:
@@ -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 = [
|
||||||
|
|||||||
Reference in New Issue
Block a user