BUILD119 — ручной счёт + SQL + составы

This commit is contained in:
2026-08-26 13:54:47 +03:00
parent c5b25c23e2
commit fb422d5bf8
10 changed files with 544 additions and 16 deletions

View File

@@ -62,6 +62,8 @@ class PublicSettingsPayload(BaseModel):
strength_state_labels: dict[str, Any] | None = None
period_status_labels: dict[str, Any] | None = None
scoreboard_team_states: dict[str, Any] | None = None
score_external_home_key: str | None = None
score_external_away_key: str | None = None
class CredentialsPayload(BaseModel):
@@ -116,6 +118,11 @@ class GameValuesPayload(BaseModel):
language: str = Field(default="ru", pattern="^(ru|en)$")
class GameScorePayload(BaseModel):
command: str = Field(pattern="^(home_plus|home_minus|away_plus|away_minus|sync)$")
language: str = Field(default="ru", pattern="^(ru|en)$")
class ShootoutSetupPayload(BaseModel):
initial_attempts: int = Field(default=3)
reset: bool = False
@@ -1007,6 +1014,22 @@ def create_hockey_router(
except ValueError as error:
raise HTTPException(status_code=400, detail=str(error)) from error
@router.put("/games/{external_id}/control/score")
async def update_game_score(
external_id: str,
payload: GameScorePayload,
user: HockeyUser = Depends(auth_dependency),
) -> dict[str, Any]:
try:
return service.set_game_score(
external_id,
command=payload.command,
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,