chore(merge): merge branch 'main' into feat/multiplayer-api

This commit is contained in:
MingxuanGame
2025-07-30 06:34:29 +00:00
34 changed files with 1971 additions and 1017 deletions

View File

@@ -2,16 +2,15 @@ from __future__ import annotations
from datetime import datetime
from enum import Enum
from app.database import (
LazerUserAchievement,
Team as Team,
)
from typing import TYPE_CHECKING
from .score import GameMode
from pydantic import BaseModel
if TYPE_CHECKING:
from app.database import LazerUserAchievement, Team
class PlayStyle(str, Enum):
MOUSE = "mouse"
@@ -83,7 +82,11 @@ class UserAchievement(BaseModel):
achievement_id: int
# 添加数据库模型转换方法
def to_db_model(self, user_id: int) -> LazerUserAchievement:
def to_db_model(self, user_id: int) -> "LazerUserAchievement":
from app.database import (
LazerUserAchievement,
)
return LazerUserAchievement(
user_id=user_id,
achievement_id=self.achievement_id,
@@ -207,7 +210,7 @@ class User(BaseModel):
rank_history: RankHistory | None = None
rankHistory: RankHistory | None = None # 兼容性别名
replays_watched_counts: list[dict] = []
team: Team | None = None
team: "Team | None" = None
user_achievements: list[UserAchievement] = []