🎨 优化模型定义

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

View File

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