fix(room): solve 500 in API POST /rooms

This commit is contained in:
chenjintang-shrimp
2025-08-07 07:37:24 +00:00
parent 47d02e4e9c
commit ff25e58696
2 changed files with 8 additions and 7 deletions

View File

@@ -134,6 +134,7 @@ class PlaylistResp(PlaylistBase):
@classmethod @classmethod
async def from_db(cls, playlist: Playlist) -> "PlaylistResp": async def from_db(cls, playlist: Playlist) -> "PlaylistResp":
resp = cls.model_validate(playlist) data = playlist.model_dump()
resp.beatmap = await BeatmapResp.from_db(playlist.beatmap) data["beatmap"] = await BeatmapResp.from_db(playlist.beatmap, from_set=True)
resp = cls.model_validate(data)
return resp return resp

View File

@@ -37,10 +37,10 @@ async def get_all_rooms(
rooms = MultiplayerHubs.rooms.values() rooms = MultiplayerHubs.rooms.values()
resp_list: list[RoomResp] = [] resp_list: list[RoomResp] = []
for room in rooms: for room in rooms:
if category == "realtime" and room.category != "normal": # if category == "realtime" and room.category != "normal":
continue # continue
elif category != room.category: # elif category != room.category and category != "":
continue # continue
resp_list.append(await RoomResp.from_hub(room)) resp_list.append(await RoomResp.from_hub(room))
return resp_list return resp_list
@@ -99,6 +99,6 @@ async def create_room(
hub=MultiplayerHubs, hub=MultiplayerHubs,
) )
MultiplayerHubs.rooms[db_room.id] = server_room MultiplayerHubs.rooms[db_room.id] = server_room
created_room = APICreatedRoom.model_validate(db_room) created_room = APICreatedRoom.model_validate(await RoomResp.from_db(db_room))
created_room.error = "" created_room.error = ""
return created_room return created_room