整理代码
This commit is contained in:
@@ -7,7 +7,7 @@ from app.config import settings
|
||||
|
||||
from .mods import API_MODS, APIMod
|
||||
|
||||
from pydantic import BaseModel, Field, ValidationInfo, field_validator, field_serializer
|
||||
from pydantic import BaseModel, Field, ValidationInfo, field_serializer, field_validator
|
||||
|
||||
if TYPE_CHECKING:
|
||||
import rosu_pp_py as rosu
|
||||
@@ -212,7 +212,7 @@ class SoloScoreSubmissionInfo(BaseModel):
|
||||
if isinstance(v, dict):
|
||||
serialized = {}
|
||||
for key, value in v.items():
|
||||
if hasattr(key, 'value'):
|
||||
if hasattr(key, "value"):
|
||||
# 如果是枚举,使用其值
|
||||
serialized[key.value] = value
|
||||
else:
|
||||
@@ -224,7 +224,7 @@ class SoloScoreSubmissionInfo(BaseModel):
|
||||
@field_serializer("rank", when_used="json")
|
||||
def serialize_rank(self, v):
|
||||
"""序列化等级,确保枚举值正确转换为字符串"""
|
||||
if hasattr(v, 'value'):
|
||||
if hasattr(v, "value"):
|
||||
return v.value
|
||||
return str(v)
|
||||
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
from __future__ import annotations
|
||||
|
||||
from datetime import datetime
|
||||
from typing import Any
|
||||
|
||||
from pydantic import BaseModel
|
||||
|
||||
|
||||
class OnlineStats(BaseModel):
|
||||
"""在线统计信息"""
|
||||
|
||||
registered_users: int
|
||||
online_users: int
|
||||
playing_users: int
|
||||
@@ -16,6 +16,7 @@ class OnlineStats(BaseModel):
|
||||
|
||||
class OnlineHistoryPoint(BaseModel):
|
||||
"""在线历史数据点"""
|
||||
|
||||
timestamp: datetime
|
||||
online_count: int
|
||||
playing_count: int
|
||||
@@ -23,12 +24,14 @@ class OnlineHistoryPoint(BaseModel):
|
||||
|
||||
class OnlineHistoryStats(BaseModel):
|
||||
"""24小时在线历史统计"""
|
||||
|
||||
history: list[OnlineHistoryPoint]
|
||||
current_stats: OnlineStats
|
||||
|
||||
|
||||
class ServerStatistics(BaseModel):
|
||||
"""服务器统计信息"""
|
||||
|
||||
total_users: int
|
||||
online_users: int
|
||||
playing_users: int
|
||||
|
||||
Reference in New Issue
Block a user