🎨 优化模板模型路径

~~真的是优化吗~~
This commit is contained in:
2024-08-06 00:03:02 +08:00
parent 461d3450d6
commit 12cb5193b3
14 changed files with 44 additions and 44 deletions

View File

@@ -0,0 +1,10 @@
from datetime import datetime
from pydantic import BaseModel
from .....typing import Number
class TetraLeagueHistoryData(BaseModel):
record_at: datetime
tr: Number

View File

@@ -0,0 +1,49 @@
from pydantic import BaseModel
from ......games.tetrio.api.typing import Rank
from .....typing import Number
from ...base import People, Ranking
from .base import TetraLeagueHistoryData
class User(People):
bio: str | None
class TetraLeague(BaseModel):
rank: Rank
tr: Number
global_rank: Number
pps: Number
lpm: Number
apm: Number
apl: Number
vs: Number
adpm: Number
adpl: Number
class TetraLeagueHistory(BaseModel):
data: list[TetraLeagueHistoryData]
split_interval: Number
min_tr: Number
max_tr: Number
offset: Number
class Radar(BaseModel):
app: Number
dsps: Number
dspp: Number
ci: Number
ge: Number
class Info(BaseModel):
user: User
ranking: Ranking
tetra_league: TetraLeague
tetra_league_history: TetraLeagueHistory
radar: Radar
sprint: str
blitz: str

View File

@@ -0,0 +1,100 @@
from datetime import datetime
from typing import Literal
from pydantic import BaseModel
from ......games.tetrio.api.schemas.user_records import Zen
from ......games.tetrio.api.typing import Rank, ValidRank
from .....typing import Number
from ...base import Avatar
from .base import TetraLeagueHistoryData
class Badge(BaseModel):
id: str
description: str
group: str | None
receive_at: datetime | None
class User(BaseModel):
id: str
name: str
country: str | None
role: Literal['anon', 'user', 'bot', 'halfmod', 'mod', 'admin', 'sysop', 'banned']
avatar: str | Avatar
banner: str | None
bio: str | None
friend_count: int | None
supporter_tier: int
verified: bool
bad_standing: bool
badges: list[Badge]
xp: Number
playtime: str | None
join_at: datetime | None
class Statistic(BaseModel):
total: int | None
wins: int | None
class TetraLeagueStatistic(BaseModel):
total: int
wins: int
class TetraLeague(BaseModel):
rank: Rank
highest_rank: ValidRank
tr: Number
glicko: Number | None
rd: Number | None
global_rank: int | None
country_rank: int | None
pps: Number | None
apm: Number | None
apl: Number | None
vs: Number | None
adpl: Number | None
statistic: TetraLeagueStatistic
decaying: bool
history: list[TetraLeagueHistoryData] | None
class Sprint(BaseModel):
time: str
global_rank: int | None
play_at: datetime
class Blitz(BaseModel):
score: int
global_rank: int | None
play_at: datetime
class Info(BaseModel):
user: User
tetra_league: TetraLeague | None
statistic: Statistic | None
sprint: Sprint | None
blitz: Blitz | None
zen: Zen | None

View File

@@ -0,0 +1,37 @@
from datetime import datetime
from pydantic import BaseModel
from ......games.tetrio.api.typing import Rank
from .....typing import Number
from ...base import Avatar
class TetraLeague(BaseModel):
rank: Rank
tr: Number
glicko: Number | None
rd: Number | None
decaying: bool
pps: Number
apm: Number
apl: Number
vs: Number | None
adpl: Number | None
class User(BaseModel):
id: str
name: str
avatar: str | Avatar
country: str | None
verified: bool
tetra_league: TetraLeague
xp: Number
join_at: datetime | None
class List(BaseModel):
show_index: bool
users: list[User]