feat: 为 UserAchievement 类添加数据库模型转换方法
- 在 UserAchievement 类中添加 to_db_model 方法,用于将用户成就信息转换为数据库模型 - 该方法接受 user_id 参数,结合 achievement_id 和 achieved_at 字段,创建并返回一个 LazerUserAchievement 实例 - 此更新为用户成就数据的持久化存储提供了便利
This commit is contained in:
@@ -5,6 +5,7 @@ from enum import Enum
|
|||||||
from typing import Optional
|
from typing import Optional
|
||||||
|
|
||||||
from pydantic import BaseModel
|
from pydantic import BaseModel
|
||||||
|
from app.database import LazerUserAchievement # 添加数据库模型导入
|
||||||
|
|
||||||
|
|
||||||
class GameMode(str, Enum):
|
class GameMode(str, Enum):
|
||||||
@@ -83,6 +84,14 @@ class UserAchievement(BaseModel):
|
|||||||
achieved_at: datetime
|
achieved_at: datetime
|
||||||
achievement_id: int
|
achievement_id: int
|
||||||
|
|
||||||
|
# 添加数据库模型转换方法
|
||||||
|
def to_db_model(self, user_id: int) -> LazerUserAchievement:
|
||||||
|
return LazerUserAchievement(
|
||||||
|
user_id=user_id,
|
||||||
|
achievement_id=self.achievement_id,
|
||||||
|
achieved_at=self.achieved_at
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
class RankHighest(BaseModel):
|
class RankHighest(BaseModel):
|
||||||
rank: int
|
rank: int
|
||||||
|
|||||||
Reference in New Issue
Block a user