a
This commit is contained in:
@@ -5,6 +5,17 @@ from app.schemas.game import GameResponse, GameShort, PlaythroughInfo
|
||||
from app.schemas.challenge import ChallengeResponse
|
||||
|
||||
|
||||
class ProofFileResponse(BaseModel):
|
||||
"""Информация о файле-доказательстве"""
|
||||
id: int
|
||||
file_type: str # image или video
|
||||
order_index: int
|
||||
created_at: datetime
|
||||
|
||||
class Config:
|
||||
from_attributes = True
|
||||
|
||||
|
||||
class AssignmentBase(BaseModel):
|
||||
pass
|
||||
|
||||
@@ -20,6 +31,8 @@ class BonusAssignmentResponse(BaseModel):
|
||||
challenge: ChallengeResponse
|
||||
status: str # pending, completed
|
||||
proof_url: str | None = None
|
||||
proof_image_url: str | None = None # Legacy, for backward compatibility
|
||||
proof_files: list[ProofFileResponse] = [] # Multiple uploaded files
|
||||
proof_comment: str | None = None
|
||||
points_earned: int = 0
|
||||
completed_at: datetime | None = None
|
||||
|
||||
@@ -4,6 +4,7 @@ from pydantic import BaseModel, Field
|
||||
|
||||
from app.schemas.user import UserPublic
|
||||
from app.schemas.challenge import ChallengeResponse, GameShort
|
||||
from app.schemas.assignment import ProofFileResponse
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from app.schemas.game import PlaythroughInfo
|
||||
@@ -75,7 +76,8 @@ class AssignmentDetailResponse(BaseModel):
|
||||
participant: UserPublic
|
||||
status: str
|
||||
proof_url: str | None # External URL (YouTube, etc.)
|
||||
proof_image_url: str | None # Uploaded file URL
|
||||
proof_image_url: str | None # Uploaded file URL (legacy, for backward compatibility)
|
||||
proof_files: list[ProofFileResponse] = [] # Multiple uploaded files
|
||||
proof_comment: str | None
|
||||
points_earned: int
|
||||
streak_at_completion: int | None
|
||||
|
||||
@@ -56,6 +56,7 @@ class GameShort(BaseModel):
|
||||
id: int
|
||||
title: str
|
||||
cover_url: str | None = None
|
||||
download_url: str
|
||||
game_type: str = "challenges"
|
||||
|
||||
class Config:
|
||||
|
||||
Reference in New Issue
Block a user