mirror of
https://gitlab.com/megazordpobeda/DataRush.git
synced 2026-05-23 06:17:10 +00:00
formatted :)
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
from ninja import ModelSchema, Schema
|
||||
from ninja import ModelSchema
|
||||
|
||||
from apps.achievement.models import Achievement
|
||||
|
||||
@@ -6,4 +6,9 @@ from apps.achievement.models import Achievement
|
||||
class AchievementSchema(ModelSchema):
|
||||
class Meta:
|
||||
model = Achievement
|
||||
fields = ("id", "name", "description", "icon",)
|
||||
fields = (
|
||||
"id",
|
||||
"name",
|
||||
"description",
|
||||
"icon",
|
||||
)
|
||||
|
||||
@@ -2,9 +2,9 @@ from http import HTTPStatus as status
|
||||
|
||||
from ninja import Router
|
||||
|
||||
from apps.achievement.models import Achievement
|
||||
from api.v1.achievement.schemas import AchievementSchema
|
||||
from api.v1.schemas import UnauthorizedError
|
||||
from apps.achievement.models import Achievement
|
||||
|
||||
router = Router()
|
||||
|
||||
@@ -14,7 +14,7 @@ router = Router()
|
||||
response={
|
||||
status.OK: list[AchievementSchema],
|
||||
status.UNAUTHORIZED: UnauthorizedError,
|
||||
}
|
||||
},
|
||||
)
|
||||
def get_all_achievements(request):
|
||||
return Achievement.objects.all()
|
||||
|
||||
@@ -87,7 +87,9 @@ def evaluate_submission(
|
||||
review.submission.checked_at = datetime.now()
|
||||
review.save()
|
||||
|
||||
submission_evaluations = Review.objects.filter(submission=submission).values_list('evaluation', flat=True)
|
||||
submission_evaluations = Review.objects.filter(
|
||||
submission=submission
|
||||
).values_list("evaluation", flat=True)
|
||||
|
||||
marks = []
|
||||
for evaluation in submission_evaluations:
|
||||
@@ -97,9 +99,7 @@ def evaluate_submission(
|
||||
marks.append(mark)
|
||||
earned_points = median(marks)
|
||||
|
||||
review.submission.earned_points = (
|
||||
earned_points
|
||||
)
|
||||
review.submission.earned_points = earned_points
|
||||
|
||||
all_checked = not submission.reviews.exclude(
|
||||
state=ReviewStatusChoices.CHECKED
|
||||
|
||||
@@ -2,17 +2,24 @@ from typing import Literal
|
||||
from uuid import UUID
|
||||
|
||||
from ninja import ModelSchema, Schema
|
||||
from pydantic import Field
|
||||
|
||||
from apps.task.models import CompetitionTask, CompetitionTaskSubmission, CompetitionTaskAttachment
|
||||
from apps.task.models import (
|
||||
CompetitionTask,
|
||||
CompetitionTaskAttachment,
|
||||
CompetitionTaskSubmission,
|
||||
)
|
||||
|
||||
|
||||
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():
|
||||
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"
|
||||
|
||||
@@ -38,10 +45,19 @@ class HistorySubmissionOut(ModelSchema):
|
||||
|
||||
class Meta:
|
||||
model = CompetitionTaskSubmission
|
||||
fields = ("id", "earned_points", "timestamp", "content",)
|
||||
fields = (
|
||||
"id",
|
||||
"earned_points",
|
||||
"timestamp",
|
||||
"content",
|
||||
)
|
||||
|
||||
|
||||
class TaskAttachmentSchema(ModelSchema):
|
||||
class Meta:
|
||||
model = CompetitionTaskAttachment
|
||||
fields = ("id", "file", "public",)
|
||||
fields = (
|
||||
"id",
|
||||
"file",
|
||||
"public",
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user