build 122 - стартовые пятерки
This commit is contained in:
@@ -123,6 +123,23 @@ class GameScorePayload(BaseModel):
|
||||
language: str = Field(default="ru", pattern="^(ru|en)$")
|
||||
|
||||
|
||||
class GameLineAssignmentPayload(BaseModel):
|
||||
model_config = ConfigDict(extra="ignore")
|
||||
|
||||
player_external_id: str = Field(min_length=1, max_length=64)
|
||||
line_number: str = Field(default="", max_length=16)
|
||||
sort_order: int = Field(default=0, ge=0, le=999)
|
||||
|
||||
|
||||
class GameLinesPayload(BaseModel):
|
||||
model_config = ConfigDict(extra="ignore")
|
||||
|
||||
side: str = Field(pattern="^(home|away)$")
|
||||
assignments: list[GameLineAssignmentPayload] = Field(default_factory=list)
|
||||
reset: bool = False
|
||||
language: str = Field(default="ru", pattern="^(ru|en)$")
|
||||
|
||||
|
||||
class ShootoutSetupPayload(BaseModel):
|
||||
initial_attempts: int = Field(default=3)
|
||||
reset: bool = False
|
||||
@@ -1030,6 +1047,30 @@ def create_hockey_router(
|
||||
except ValueError as error:
|
||||
raise HTTPException(status_code=400, detail=str(error)) from error
|
||||
|
||||
@router.put("/games/{external_id}/lines")
|
||||
async def update_game_lines(
|
||||
external_id: str,
|
||||
payload: GameLinesPayload,
|
||||
user: HockeyUser = Depends(auth_dependency),
|
||||
) -> dict[str, Any]:
|
||||
try:
|
||||
if payload.reset:
|
||||
return service.reset_game_lines(
|
||||
external_id,
|
||||
side=payload.side,
|
||||
updated_by=user.id,
|
||||
language=payload.language,
|
||||
)
|
||||
return service.save_game_lines(
|
||||
external_id,
|
||||
side=payload.side,
|
||||
assignments=[item.model_dump() for item in payload.assignments],
|
||||
updated_by=user.id,
|
||||
language=payload.language,
|
||||
)
|
||||
except ValueError as error:
|
||||
raise HTTPException(status_code=400, detail=str(error)) from error
|
||||
|
||||
@router.put("/games/{external_id}/control/values")
|
||||
async def update_game_values(
|
||||
external_id: str,
|
||||
|
||||
Reference in New Issue
Block a user