from datetime import datetime from pydantic import BaseModel, ConfigDict from database.models import TicketStatus class YookassaWebhookObject(BaseModel): id: str status: str paid: bool class YookassaWebhook(BaseModel): event: str type: str object: YookassaWebhookObject class TicketBookRequest(BaseModel): seat_id: int class TicketBookResponse(BaseModel): ticket_id: int payment_url: str class TournamentInfo(BaseModel): id: int title: str event_date: datetime model_config = ConfigDict(from_attributes=True) class SeatInfo(BaseModel): id: int sector: str row: int number: int price: int tournament: TournamentInfo model_config = ConfigDict(from_attributes=True) class TicketResponse(BaseModel): id: int status: TicketStatus pdf_url: str | None created_at: datetime seat: SeatInfo model_config = ConfigDict(from_attributes=True) class TicketScanRequest(BaseModel): token: str class TicketScanResponse(BaseModel): success: bool message: str ticket_id: int | None