fix(daily-challenge): last_update will return correct time to display in client

This commit is contained in:
MingxuanGame
2025-08-30 10:26:12 +00:00
parent 6c2e88c485
commit 554f1e6432

View File

@@ -24,7 +24,7 @@ class DailyChallengeStatsBase(SQLModel, UTCBaseModel):
daily_streak_best: int = Field(default=0)
daily_streak_current: int = Field(default=0)
last_update: datetime | None = Field(default=None, sa_column=Column(DateTime))
last_day_streak: datetime | None = Field(default=None, sa_column=Column(DateTime))
last_day_streak: datetime | None = Field(default=None, sa_column=Column(DateTime), exclude=True)
last_weekly_streak: datetime | None = Field(default=None, sa_column=Column(DateTime))
playcount: int = Field(default=0)
top_10p_placements: int = Field(default=0)
@@ -57,7 +57,9 @@ class DailyChallengeStatsResp(DailyChallengeStatsBase):
cls,
obj: DailyChallengeStats,
) -> "DailyChallengeStatsResp":
return cls.model_validate(obj)
stats = cls.model_validate(obj)
stats.last_update = obj.last_day_streak
return stats
async def process_daily_challenge_score(session: AsyncSession, user_id: int, room_id: int):