Archipelago/WebHostLib/api/__init__.py

33 lines
804 B
Python
Raw Normal View History

"""API endpoints package."""
2020-12-01 00:51:09 +00:00
from uuid import UUID
from flask import Blueprint, abort
from ..models import Room
2021-07-21 20:55:44 +00:00
from .. import cache
api_endpoints = Blueprint('api', __name__, url_prefix="/api")
from . import generate, user # trigger registration
2020-12-01 00:51:09 +00:00
# unsorted/misc endpoints
2021-07-21 20:55:44 +00:00
2020-12-01 00:51:09 +00:00
@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"],
"last_port": room.last_port,
"last_activity": room.last_activity,
"timeout": room.timeout}
2021-07-21 20:55:44 +00:00
@api_endpoints.route('/datapackage')
@cache.cached()
def get_datapackge():
from worlds import network_data_package
return network_data_package