fix(event): fix incorrect call settings.frontend_url

This commit is contained in:
MingxuanGame
2025-08-14 13:36:29 +00:00
parent 55c25bf96e
commit 2912e68c7b
3 changed files with 13 additions and 12 deletions

View File

@@ -68,6 +68,15 @@ class Settings(BaseSettings):
server_url: HttpUrl = HttpUrl("http://localhost:8000") server_url: HttpUrl = HttpUrl("http://localhost:8000")
frontend_url: HttpUrl | None = None frontend_url: HttpUrl | None = None
@property
def web_url(self):
if self.frontend_url is not None:
return str(self.frontend_url)
elif self.server_url is not None:
return str(self.server_url)
else:
return "/"
# SignalR 设置 # SignalR 设置
signalr_negotiate_timeout: int = 30 signalr_negotiate_timeout: int = 30
signalr_ping_interval: int = 15 signalr_ping_interval: int = 15

View File

@@ -13,7 +13,7 @@ from app.calculator import (
calculate_weighted_pp, calculate_weighted_pp,
clamp, clamp,
) )
from app.config import Settings, settings from app.config import settings
from app.database.events import Event, EventType from app.database.events import Event, EventType
from app.database.team import TeamMember from app.database.team import TeamMember
from app.models.model import ( from app.models.model import (
@@ -244,7 +244,7 @@ class ScoreResp(ScoreBase):
"beatmap": {"title": s.beatmap.version, "url": s.beatmap.url}, "beatmap": {"title": s.beatmap.version, "url": s.beatmap.url},
"user": { "user": {
"username": score.user.username, "username": score.user.username,
"url": str(Settings.frontend_url) + "/users/" + str(score.user.id), "url": settings.web_url + "users/" + str(score.user.id),
}, },
} }
session.add(rank_event) session.add(rank_event)
@@ -651,9 +651,7 @@ async def process_user(
}, },
"user": { "user": {
"username": user.username, "username": user.username,
"url": str(Settings.frontend_url) "url": settings.web_url + "users/" + str(user.id),
+ "/users/"
+ str(user.id),
}, },
} }
session.add(rank_lost_event) session.add(rank_lost_event)

View File

@@ -48,15 +48,9 @@ async def user_rename(
user_id=current_user.id, user_id=current_user.id,
user=current_user, user=current_user,
) )
if settings.frontend_url is not None:
frontend_url = str(settings.frontend_url)
elif settings.server_url is not None:
frontend_url = str(settings.server_url)
else:
frontend_url = "/"
rename_event.event_payload["user"] = { rename_event.event_payload["user"] = {
"username": new_name, "username": new_name,
"url": frontend_url + "users/" + str(current_user.id), "url": settings.web_url + "users/" + str(current_user.id),
"previous_username": current_user.previous_usernames[-1], "previous_username": current_user.previous_usernames[-1],
} }
session.add(rename_event) session.add(rename_event)