mirror of
https://github.com/A-Minos/nonebot-plugin-tetris-stats.git
synced 2026-03-05 05:36:54 +08:00
✨ 为使用了 alias 的 pydantic model 设置 populate_by_name
This commit is contained in:
@@ -1,4 +1,5 @@
|
|||||||
from pydantic import BaseModel, Field
|
from nonebot.compat import PYDANTIC_V2
|
||||||
|
from pydantic import BaseModel, ConfigDict, Field
|
||||||
|
|
||||||
from ..typing import Rank
|
from ..typing import Rank
|
||||||
from .base import FailedModel
|
from .base import FailedModel
|
||||||
@@ -13,6 +14,12 @@ class _User(BaseModel):
|
|||||||
supporter: bool
|
supporter: bool
|
||||||
verified: bool
|
verified: bool
|
||||||
country: str | None = None
|
country: str | None = None
|
||||||
|
if PYDANTIC_V2:
|
||||||
|
model_config = ConfigDict(populate_by_name=True)
|
||||||
|
else:
|
||||||
|
|
||||||
|
class Config:
|
||||||
|
allow_population_by_field_name = True
|
||||||
|
|
||||||
|
|
||||||
class SuccessModel(BaseSuccessModel):
|
class SuccessModel(BaseSuccessModel):
|
||||||
|
|||||||
@@ -1,7 +1,8 @@
|
|||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
from typing import Literal
|
from typing import Literal
|
||||||
|
|
||||||
from pydantic import BaseModel, Field
|
from nonebot.compat import PYDANTIC_V2
|
||||||
|
from pydantic import BaseModel, ConfigDict, Field
|
||||||
|
|
||||||
from ..typing import Rank
|
from ..typing import Rank
|
||||||
from .base import FailedModel
|
from .base import FailedModel
|
||||||
@@ -113,6 +114,12 @@ class SuccessModel(BaseSuccessModel):
|
|||||||
connections: Connections
|
connections: Connections
|
||||||
friend_count: int | None = None
|
friend_count: int | None = None
|
||||||
distinguishment: Distinguishment | None = None
|
distinguishment: Distinguishment | None = None
|
||||||
|
if PYDANTIC_V2:
|
||||||
|
model_config = ConfigDict(populate_by_name=True)
|
||||||
|
else:
|
||||||
|
|
||||||
|
class Config:
|
||||||
|
allow_population_by_field_name = True
|
||||||
|
|
||||||
user: User
|
user: User
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
|
|
||||||
from pydantic import BaseModel, Field
|
from nonebot.compat import PYDANTIC_V2
|
||||||
|
from pydantic import BaseModel, ConfigDict, Field
|
||||||
|
|
||||||
from .base import FailedModel
|
from .base import FailedModel
|
||||||
from .base import SuccessModel as BaseSuccessModel
|
from .base import SuccessModel as BaseSuccessModel
|
||||||
@@ -66,11 +67,23 @@ class EndContext(BaseModel):
|
|||||||
finesse: Finesse
|
finesse: Finesse
|
||||||
final_time: float = Field(..., alias='finalTime')
|
final_time: float = Field(..., alias='finalTime')
|
||||||
gametype: str
|
gametype: str
|
||||||
|
if PYDANTIC_V2:
|
||||||
|
model_config = ConfigDict(populate_by_name=True)
|
||||||
|
else:
|
||||||
|
|
||||||
|
class Config:
|
||||||
|
allow_population_by_field_name = True
|
||||||
|
|
||||||
|
|
||||||
class _User(BaseModel):
|
class _User(BaseModel):
|
||||||
id: str = Field(..., alias='_id')
|
id: str = Field(..., alias='_id')
|
||||||
username: str
|
username: str
|
||||||
|
if PYDANTIC_V2:
|
||||||
|
model_config = ConfigDict(populate_by_name=True)
|
||||||
|
else:
|
||||||
|
|
||||||
|
class Config:
|
||||||
|
allow_population_by_field_name = True
|
||||||
|
|
||||||
|
|
||||||
class _Record(BaseModel):
|
class _Record(BaseModel):
|
||||||
@@ -80,6 +93,12 @@ class _Record(BaseModel):
|
|||||||
user: _User
|
user: _User
|
||||||
ts: datetime
|
ts: datetime
|
||||||
ismulti: bool | None = None
|
ismulti: bool | None = None
|
||||||
|
if PYDANTIC_V2:
|
||||||
|
model_config = ConfigDict(populate_by_name=True)
|
||||||
|
else:
|
||||||
|
|
||||||
|
class Config:
|
||||||
|
allow_population_by_field_name = True
|
||||||
|
|
||||||
|
|
||||||
class BaseModeRecord(BaseModel):
|
class BaseModeRecord(BaseModel):
|
||||||
@@ -102,6 +121,12 @@ class SuccessModel(BaseSuccessModel):
|
|||||||
|
|
||||||
sprint: Sprint = Field(..., alias='40l')
|
sprint: Sprint = Field(..., alias='40l')
|
||||||
blitz: Blitz
|
blitz: Blitz
|
||||||
|
if PYDANTIC_V2:
|
||||||
|
model_config = ConfigDict(populate_by_name=True)
|
||||||
|
else:
|
||||||
|
|
||||||
|
class Config:
|
||||||
|
allow_population_by_field_name = True
|
||||||
|
|
||||||
class Zen(BaseModel):
|
class Zen(BaseModel):
|
||||||
level: int
|
level: int
|
||||||
|
|||||||
@@ -1,7 +1,8 @@
|
|||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
from typing import Literal
|
from typing import Literal
|
||||||
|
|
||||||
from pydantic import BaseModel, Field
|
from nonebot.compat import PYDANTIC_V2
|
||||||
|
from pydantic import BaseModel, ConfigDict, Field
|
||||||
|
|
||||||
|
|
||||||
class SuccessModel(BaseModel):
|
class SuccessModel(BaseModel):
|
||||||
@@ -16,6 +17,12 @@ class SuccessModel(BaseModel):
|
|||||||
win: str
|
win: str
|
||||||
lose: str
|
lose: str
|
||||||
score: str
|
score: str
|
||||||
|
if PYDANTIC_V2:
|
||||||
|
model_config = ConfigDict(populate_by_name=True)
|
||||||
|
else:
|
||||||
|
|
||||||
|
class Config:
|
||||||
|
allow_population_by_field_name = True
|
||||||
|
|
||||||
class UserDataTotalItem(BaseModel):
|
class UserDataTotalItem(BaseModel):
|
||||||
time_map: str = Field(..., alias='timeMap')
|
time_map: str = Field(..., alias='timeMap')
|
||||||
@@ -48,6 +55,12 @@ class SuccessModel(BaseModel):
|
|||||||
tspin_no_map: str = Field(..., alias='tspinNoMap')
|
tspin_no_map: str = Field(..., alias='tspinNoMap')
|
||||||
b2b_no_map: str = Field(..., alias='b2bNoMap')
|
b2b_no_map: str = Field(..., alias='b2bNoMap')
|
||||||
perfect_clear_no_map: str = Field(..., alias='perfectClearNoMap')
|
perfect_clear_no_map: str = Field(..., alias='perfectClearNoMap')
|
||||||
|
if PYDANTIC_V2:
|
||||||
|
model_config = ConfigDict(populate_by_name=True)
|
||||||
|
else:
|
||||||
|
|
||||||
|
class Config:
|
||||||
|
allow_population_by_field_name = True
|
||||||
|
|
||||||
teaid: str = Field(..., alias='teaId')
|
teaid: str = Field(..., alias='teaId')
|
||||||
name: str
|
name: str
|
||||||
@@ -72,6 +85,13 @@ class SuccessModel(BaseModel):
|
|||||||
register_date: datetime = Field(..., alias='registerDate')
|
register_date: datetime = Field(..., alias='registerDate')
|
||||||
last_login_date: datetime = Field(..., alias='lastLoginDate')
|
last_login_date: datetime = Field(..., alias='lastLoginDate')
|
||||||
|
|
||||||
|
if PYDANTIC_V2:
|
||||||
|
model_config = ConfigDict(populate_by_name=True)
|
||||||
|
else:
|
||||||
|
|
||||||
|
class Config:
|
||||||
|
allow_population_by_field_name = True
|
||||||
|
|
||||||
code: int
|
code: int
|
||||||
success: Literal[True]
|
success: Literal[True]
|
||||||
data: Data
|
data: Data
|
||||||
|
|||||||
Reference in New Issue
Block a user