volsu-contests/backend/app/schemas/contest.py
2025-11-30 19:55:50 +03:00

53 lines
1.1 KiB
Python

from datetime import datetime
from pydantic import BaseModel
class ContestCreate(BaseModel):
title: str
description: str | None = None
start_time: datetime
end_time: datetime
is_active: bool = False
class ContestUpdate(BaseModel):
title: str | None = None
description: str | None = None
start_time: datetime | None = None
end_time: datetime | None = None
is_active: bool | None = None
class ContestResponse(BaseModel):
id: int
title: str
description: str | None
start_time: datetime
end_time: datetime
is_active: bool
created_by: int | None
created_at: datetime
is_running: bool
has_ended: bool
problems_count: int = 0
participants_count: int = 0
is_participating: bool = False
class Config:
from_attributes = True
class ContestListResponse(BaseModel):
id: int
title: str
start_time: datetime
end_time: datetime
is_active: bool
is_running: bool
has_ended: bool
problems_count: int = 0
participants_count: int = 0
class Config:
from_attributes = True