add user-specific api endpoints

requires session cookie
This commit is contained in:
Fabian Dill 2020-12-06 14:04:52 +01:00
parent 6450e72deb
commit e98a8cae9a
2 changed files with 36 additions and 2 deletions

View File

@ -7,7 +7,8 @@ from ..models import Room
api_endpoints = Blueprint('api', __name__, url_prefix="/api") api_endpoints = Blueprint('api', __name__, url_prefix="/api")
from . import generate from . import generate, user # trigger registration
# unsorted/misc endpoints # unsorted/misc endpoints

33
WebHostLib/api/user.py Normal file
View File

@ -0,0 +1,33 @@
from flask import session, jsonify
from WebHostLib.models import *
from . import api_endpoints
@api_endpoints.route('/get_rooms')
def get_rooms():
response = []
for room in select(room for room in Room if room.owner == session["_id"]):
response.append({
"room_id": room.id,
"seed_id": room.seed.id,
"creation_time": room.creation_time,
"last_activity": room.last_activity,
"last_port": room.last_port,
"timeout": room.timeout,
"tracker": room.tracker,
"players": room.seed.multidata["names"] if room.seed.multidata else [["Singleplayer"]],
})
return jsonify(response)
@api_endpoints.route('/get_seeds')
def get_seeds():
response = []
for seed in select(seed for seed in Seed if seed.owner == session["_id"]):
response.append({
"seed_id": seed.id,
"creation_time": seed.creation_time,
"players": seed.multidata.names if seed.multidata else [["Singleplayer"]],
})
return jsonify(response)