WebHost: fix /api/room_info
This commit is contained in:
parent
238e2d0280
commit
ab4fb6e69c
WebHostLib/api
|
@ -1,9 +1,10 @@
|
|||
"""API endpoints package."""
|
||||
from uuid import UUID
|
||||
from typing import List, Tuple
|
||||
|
||||
from flask import Blueprint, abort
|
||||
|
||||
from ..models import Room
|
||||
from ..models import Room, Seed
|
||||
from .. import cache
|
||||
|
||||
api_endpoints = Blueprint('api', __name__, url_prefix="/api")
|
||||
|
@ -13,16 +14,22 @@ from . import generate, user # trigger registration
|
|||
# unsorted/misc endpoints
|
||||
|
||||
|
||||
def get_players(seed: Seed) -> List[Tuple[str, str]]:
|
||||
return [(slot.player_name, slot.game) for slot in seed.slots]
|
||||
|
||||
|
||||
@api_endpoints.route('/room_status/<suuid:room>')
|
||||
def room_info(room: UUID):
|
||||
room = Room.get(id=room)
|
||||
if room is None:
|
||||
return abort(404)
|
||||
return {"tracker": room.tracker,
|
||||
"players": room.seed.multidata["names"],
|
||||
return {
|
||||
"tracker": room.tracker,
|
||||
"players": get_players(room.seed),
|
||||
"last_port": room.last_port,
|
||||
"last_activity": room.last_activity,
|
||||
"timeout": room.timeout}
|
||||
"timeout": room.timeout
|
||||
}
|
||||
|
||||
|
||||
@api_endpoints.route('/datapackage')
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
from flask import session, jsonify
|
||||
|
||||
from WebHostLib.models import *
|
||||
from . import api_endpoints
|
||||
from . import api_endpoints, get_players
|
||||
|
||||
|
||||
@api_endpoints.route('/get_rooms')
|
||||
|
@ -27,6 +27,6 @@ def get_seeds():
|
|||
response.append({
|
||||
"seed_id": seed.id,
|
||||
"creation_time": seed.creation_time,
|
||||
"players": [(slot.player_name, slot.game) for slot in seed.slots],
|
||||
"players": get_players(seed.slots),
|
||||
})
|
||||
return jsonify(response)
|
Loading…
Reference in New Issue