fix(event): trigger rank when submitting score
This commit is contained in:
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user