fix(room): solve 500 in API POST /rooms
This commit is contained in:
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user