From 7d0b2c657d40a1d9b6b801156e91734504a69eb9 Mon Sep 17 00:00:00 2001 From: MingxuanGame Date: Sat, 13 Sep 2025 14:38:43 +0000 Subject: [PATCH] feat(event): replace beatmap url with server url --- app/database/beatmap_playcounts.py | 3 ++- app/router/v2/score.py | 15 ++++++++++----- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/app/database/beatmap_playcounts.py b/app/database/beatmap_playcounts.py index ffdb724..af99f29 100644 --- a/app/database/beatmap_playcounts.py +++ b/app/database/beatmap_playcounts.py @@ -1,5 +1,6 @@ from typing import TYPE_CHECKING +from app.config import settings from app.database.events import Event, EventType from app.utils import utcnow @@ -80,7 +81,7 @@ async def process_beatmap_playcount(session: AsyncSession, user_id: int, beatmap "count": existing_playcount.playcount, "beatmap": { "title": existing_playcount.beatmap.version, - "url": existing_playcount.beatmap.url, + "url": existing_playcount.beatmap.url.replace("https://osu.ppy.sh/", settings.web_url), }, } session.add(playcount_event) diff --git a/app/router/v2/score.py b/app/router/v2/score.py index c54fce6..a53f21f 100644 --- a/app/router/v2/score.py +++ b/app/router/v2/score.py @@ -170,8 +170,10 @@ async def submit_score( "rank": resp.rank_global, "mode": score.gamemode.readable(), "beatmap": { - "title": f"{resp.beatmap.beatmapset.artist} - {resp.beatmap.beatmapset.title} [{resp.beatmap.version}]", # pyright: ignore[reportOptionalMemberAccess] - "url": resp.beatmap.url, # pyright: ignore[reportOptionalMemberAccess] + "title": ( + f"{score.beatmap.beatmapset.artist} - {score.beatmap.beatmapset.title} [{score.beatmap.version}]" + ), + "url": score.beatmap.url.replace("https://osu.ppy.sh/", settings.web_url), }, "user": { "username": score.user.username, @@ -200,11 +202,14 @@ async def submit_score( type=EventType.RANK_LOST, user_id=displaced_score.user_id, ) - rank_lost_event.event_payload = { + rank_lost_event.eventgi_payload = { "mode": score.gamemode.readable(), "beatmap": { - "title": score.beatmap.version, - "url": score.beatmap.url, + "title": ( + f"{score.beatmap.beatmapset.artist} - {score.beatmap.beatmapset.title} " + f"[{score.beatmap.version}]" + ), + "url": score.beatmap.url.replace("https://osu.ppy.sh/", settings.web_url), }, "user": { "username": username,