fix(event): trigger rank when submitting score

This commit is contained in:
MingxuanGame
2025-08-14 14:11:52 +00:00
parent 7fb7c094fd
commit 155905f652
2 changed files with 27 additions and 26 deletions

View File

@@ -224,31 +224,6 @@ class ScoreResp(ScoreBase):
)
or None
)
total_users = (
await session.exec(select(func.count()).select_from(User))
).first()
assert total_users is not None
if s.rank_global is not None and s.rank_global <= min(
math.ceil(float(total_users) * 0.01), 50
):
rank_event = Event(
created_at=datetime.now(UTC),
type=EventType.RANK,
user_id=score.user_id,
user=score.user,
)
rank_event.event_payload = {
"scorerank": str(score.rank),
"rank": s.rank_global,
"mode": str(s.beatmap.mode),
"beatmap": {"title": s.beatmap.version, "url": s.beatmap.url},
"user": {
"username": score.user.username,
"url": settings.web_url + "users/" + str(score.user.id),
},
}
session.add(rank_event)
await session.commit()
s.rank_country = (
await get_score_position_by_id(
session,