# generated by datamodel-codegen:
#   filename:  schema.json
#   timestamp: 2025-10-09T19:10:06+00:00

from __future__ import annotations

from typing import Optional

from pydantic import BaseModel, Field


class MiniSeriesDTO(BaseModel):
    losses: int
    progress: str
    target: int
    wins: int


class LeagueEntryDTO(BaseModel):
    league_id: str = Field(..., alias="leagueId")
    summoner_id: Optional[str] = Field(
        None, alias="summonerId", description="Player's summonerId (Encrypted)"
    )
    puuid: str = Field(..., description="Player's encrypted puuid.")
    queue_type: str = Field(..., alias="queueType")
    tier: str
    rank: str = Field(..., description="The player's division within a tier.")
    league_points: int = Field(..., alias="leaguePoints")
    wins: int = Field(
        ...,
        description="Winning team on Summoners Rift. First placement in Teamfight Tactics.",
    )
    losses: int = Field(
        ...,
        description="Losing team on Summoners Rift. Second through eighth placement in Teamfight Tactics.",
    )
    hot_streak: bool = Field(..., alias="hotStreak")
    veteran: bool
    fresh_blood: bool = Field(..., alias="freshBlood")
    inactive: bool
    mini_series: Optional[MiniSeriesDTO] = Field(None, alias="miniSeries")
