🎨 优化模型定义

This commit is contained in:
2024-05-06 07:41:16 +08:00
parent 42484b9c2c
commit e9b3c30a13
2 changed files with 28 additions and 38 deletions

View File

@@ -5,9 +5,19 @@ from .base import FailedModel
from .base import SuccessModel as BaseSuccessModel from .base import SuccessModel as BaseSuccessModel
class _User(BaseModel):
id: str = Field(..., alias='_id')
username: str
role: str
xp: float
supporter: bool
verified: bool
country: str | None = None
class SuccessModel(BaseSuccessModel): class SuccessModel(BaseSuccessModel):
class Data(BaseModel): class Data(BaseModel):
class ValidUser(BaseModel): class ValidUser(_User):
class League(BaseModel): class League(BaseModel):
gamesplayed: int gamesplayed: int
gameswon: int gameswon: int
@@ -21,16 +31,9 @@ class SuccessModel(BaseSuccessModel):
vs: float vs: float
decaying: bool decaying: bool
id: str = Field(..., alias='_id')
username: str
role: str
xp: float
league: League league: League
supporter: bool
verified: bool
country: str | None = None
class InvalidUser(BaseModel): class InvalidUser(_User):
class League(BaseModel): class League(BaseModel):
gamesplayed: int gamesplayed: int
gameswon: int gameswon: int
@@ -44,14 +47,7 @@ class SuccessModel(BaseSuccessModel):
vs: float | None = None vs: float | None = None
decaying: bool decaying: bool
id: str = Field(..., alias='_id')
username: str
role: str
xp: float
league: League league: League
supporter: bool
verified: bool
country: str | None
users: list[ValidUser | InvalidUser] users: list[ValidUser | InvalidUser]

View File

@@ -68,31 +68,25 @@ class EndContext(BaseModel):
gametype: str gametype: str
class BaseModeRecord(BaseModel): class _User(BaseModel):
class SoloRecord(BaseModel): id: str = Field(..., alias='_id')
class User(BaseModel): username: str
id: str = Field(..., alias='_id')
username: str
id: str = Field(..., alias='_id')
stream: str class _Record(BaseModel):
replayid: str id: str = Field(..., alias='_id')
user: User stream: str
ts: datetime replayid: str
ismulti: bool | None = None user: _User
ts: datetime
ismulti: bool | None = None
class BaseModeRecord(BaseModel):
class SoloRecord(_Record):
endcontext: EndContext endcontext: EndContext
class MultiRecord(BaseModel): class MultiRecord(_Record):
class User(BaseModel):
id: str = Field(..., alias='_id')
username: str
id: str = Field(..., alias='_id')
stream: str
replayid: str
user: User
ts: datetime
ismulti: bool | None = None
endcontext: list[EndContext] endcontext: list[EndContext]
record: SoloRecord | MultiRecord | None = None record: SoloRecord | MultiRecord | None = None