pyke.models.champion_mastery_v4

 1# generated by datamodel-codegen:
 2#   filename:  schema.json
 3#   timestamp: 2025-10-19T17:24:31+00:00
 4
 5from __future__ import annotations
 6
 7from typing import Dict, List, Optional
 8
 9from pydantic import BaseModel, Field
10
11
12class RewardConfigDto(BaseModel):
13    """@public"""
14
15    reward_value: str = Field(..., alias="rewardValue", description="Reward value")
16    reward_type: str = Field(..., alias="rewardType", description="Reward type")
17    maximum_reward: int = Field(
18        ..., alias="maximumReward", description="Maximun reward"
19    )
20
21
22class NextSeasonMilestonesDto(BaseModel):
23    """@public"""
24
25    require_grade_counts: Dict[str, int] = Field(..., alias="requireGradeCounts")
26    reward_marks: int = Field(..., alias="rewardMarks", description="Reward marks.")
27    bonus: bool = Field(..., description="Bonus.")
28    reward_config: Optional[RewardConfigDto] = Field(
29        None, alias="rewardConfig", description="Reward configuration."
30    )
31    total_games_requires: int = Field(..., alias="totalGamesRequires")
32
33
34class ChampionMasteryDto(BaseModel):
35    """@public"""
36
37    puuid: str = Field(
38        ...,
39        description="Player Universal Unique Identifier. Exact length of 78 characters. (Encrypted)",
40    )
41    champion_points_until_next_level: int = Field(
42        ...,
43        alias="championPointsUntilNextLevel",
44        description="Number of points needed to achieve next level. Zero if player reached maximum champion level for this champion.",
45    )
46    chest_granted: Optional[bool] = Field(
47        None,
48        alias="chestGranted",
49        description="Is chest granted for this champion or not in current season.",
50    )
51    champion_id: int = Field(
52        ..., alias="championId", description="Champion ID for this entry."
53    )
54    last_play_time: int = Field(
55        ...,
56        alias="lastPlayTime",
57        description="Last time this champion was played by this player - in Unix milliseconds time format.",
58    )
59    champion_level: int = Field(
60        ...,
61        alias="championLevel",
62        description="Champion level for specified player and champion combination.",
63    )
64    champion_points: int = Field(
65        ...,
66        alias="championPoints",
67        description="Total number of champion points for this player and champion combination - they are used to determine championLevel.",
68    )
69    champion_points_since_last_level: int = Field(
70        ...,
71        alias="championPointsSinceLastLevel",
72        description="Number of points earned since current level has been achieved.",
73    )
74    mark_required_for_next_level: int = Field(..., alias="markRequiredForNextLevel")
75    champion_season_milestone: int = Field(..., alias="championSeasonMilestone")
76    next_season_milestone: NextSeasonMilestonesDto = Field(
77        ..., alias="nextSeasonMilestone"
78    )
79    tokens_earned: int = Field(
80        ...,
81        alias="tokensEarned",
82        description="The token earned for this champion at the current championLevel. When the championLevel is advanced the tokensEarned resets to 0.",
83    )
84    milestone_grades: Optional[List[str]] = Field(None, alias="milestoneGrades")
class RewardConfigDto(pydantic.main.BaseModel):
13class RewardConfigDto(BaseModel):
14    """@public"""
15
16    reward_value: str = Field(..., alias="rewardValue", description="Reward value")
17    reward_type: str = Field(..., alias="rewardType", description="Reward type")
18    maximum_reward: int = Field(
19        ..., alias="maximumReward", description="Maximun reward"
20    )

reward_value: str
reward_type: str
maximum_reward: int
model_config: ClassVar[pydantic.config.ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class NextSeasonMilestonesDto(pydantic.main.BaseModel):
23class NextSeasonMilestonesDto(BaseModel):
24    """@public"""
25
26    require_grade_counts: Dict[str, int] = Field(..., alias="requireGradeCounts")
27    reward_marks: int = Field(..., alias="rewardMarks", description="Reward marks.")
28    bonus: bool = Field(..., description="Bonus.")
29    reward_config: Optional[RewardConfigDto] = Field(
30        None, alias="rewardConfig", description="Reward configuration."
31    )
32    total_games_requires: int = Field(..., alias="totalGamesRequires")

require_grade_counts: Dict[str, int]
reward_marks: int
bonus: bool
reward_config: Optional[RewardConfigDto]
total_games_requires: int
model_config: ClassVar[pydantic.config.ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class ChampionMasteryDto(pydantic.main.BaseModel):
35class ChampionMasteryDto(BaseModel):
36    """@public"""
37
38    puuid: str = Field(
39        ...,
40        description="Player Universal Unique Identifier. Exact length of 78 characters. (Encrypted)",
41    )
42    champion_points_until_next_level: int = Field(
43        ...,
44        alias="championPointsUntilNextLevel",
45        description="Number of points needed to achieve next level. Zero if player reached maximum champion level for this champion.",
46    )
47    chest_granted: Optional[bool] = Field(
48        None,
49        alias="chestGranted",
50        description="Is chest granted for this champion or not in current season.",
51    )
52    champion_id: int = Field(
53        ..., alias="championId", description="Champion ID for this entry."
54    )
55    last_play_time: int = Field(
56        ...,
57        alias="lastPlayTime",
58        description="Last time this champion was played by this player - in Unix milliseconds time format.",
59    )
60    champion_level: int = Field(
61        ...,
62        alias="championLevel",
63        description="Champion level for specified player and champion combination.",
64    )
65    champion_points: int = Field(
66        ...,
67        alias="championPoints",
68        description="Total number of champion points for this player and champion combination - they are used to determine championLevel.",
69    )
70    champion_points_since_last_level: int = Field(
71        ...,
72        alias="championPointsSinceLastLevel",
73        description="Number of points earned since current level has been achieved.",
74    )
75    mark_required_for_next_level: int = Field(..., alias="markRequiredForNextLevel")
76    champion_season_milestone: int = Field(..., alias="championSeasonMilestone")
77    next_season_milestone: NextSeasonMilestonesDto = Field(
78        ..., alias="nextSeasonMilestone"
79    )
80    tokens_earned: int = Field(
81        ...,
82        alias="tokensEarned",
83        description="The token earned for this champion at the current championLevel. When the championLevel is advanced the tokensEarned resets to 0.",
84    )
85    milestone_grades: Optional[List[str]] = Field(None, alias="milestoneGrades")

puuid: str
champion_points_until_next_level: int
chest_granted: Optional[bool]
champion_id: int
last_play_time: int
champion_level: int
champion_points: int
champion_points_since_last_level: int
mark_required_for_next_level: int
champion_season_milestone: int
next_season_milestone: NextSeasonMilestonesDto
tokens_earned: int
milestone_grades: Optional[List[str]]
model_config: ClassVar[pydantic.config.ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].