48 lines
959 B
Python
48 lines
959 B
Python
from datetime import datetime
|
|
from pydantic import BaseModel
|
|
|
|
|
|
class SubmissionCreate(BaseModel):
|
|
problem_id: int
|
|
contest_id: int
|
|
source_code: str
|
|
language_id: int
|
|
language_name: str | None = None
|
|
|
|
|
|
class SubmissionResponse(BaseModel):
|
|
id: int
|
|
user_id: int
|
|
problem_id: int
|
|
contest_id: int
|
|
language_id: int
|
|
language_name: str | None
|
|
status: str
|
|
score: int
|
|
total_points: int
|
|
tests_passed: int
|
|
tests_total: int
|
|
execution_time_ms: int | None
|
|
memory_used_kb: int | None
|
|
created_at: datetime
|
|
|
|
class Config:
|
|
from_attributes = True
|
|
|
|
|
|
class SubmissionListResponse(BaseModel):
|
|
id: int
|
|
problem_id: int
|
|
problem_title: str | None = None
|
|
contest_id: int | None = None
|
|
language_name: str | None
|
|
status: str
|
|
score: int
|
|
total_points: int
|
|
tests_passed: int
|
|
tests_total: int
|
|
created_at: datetime
|
|
|
|
class Config:
|
|
from_attributes = True
|