From 554f1e64320400fbc10490064a2e8a87c5e63862 Mon Sep 17 00:00:00 2001 From: MingxuanGame Date: Sat, 30 Aug 2025 10:26:12 +0000 Subject: [PATCH] fix(daily-challenge): `last_update` will return correct time to display in client --- app/database/daily_challenge.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/app/database/daily_challenge.py b/app/database/daily_challenge.py index 19feb56..5c9e520 100644 --- a/app/database/daily_challenge.py +++ b/app/database/daily_challenge.py @@ -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):