15 phase 3 tournament add

This commit is contained in:
2026-03-06 17:31:13 +00:00
parent 08c5a8387f
commit 8fb576afc7
7 changed files with 191 additions and 0 deletions

View File

@@ -0,0 +1,36 @@
from datetime import datetime
from pydantic import BaseModel, ConfigDict, field_validator
class SectorConfig(BaseModel):
sector_name: str
rows: int
seats_per_row: int
price: int
@field_validator("rows", "seats_per_row", "price")
@classmethod
def must_be_positive(cls, v: int) -> int:
if v <= 0:
raise ValueError("Must be a positive integer")
return v
class SeatGenerateRequest(BaseModel):
sectors: list[SectorConfig]
class TournamentCreate(BaseModel):
title: str
description: str | None = None
event_date: datetime
class TournamentResponse(BaseModel):
id: int
title: str
description: str | None
event_date: datetime
model_config = ConfigDict(from_attributes=True)