diff --git a/controllers/room.py b/controllers/room.py index 0fcd9ea31292a0e5d116bb7a6970f01b664c5034..b981fbdf04979cb825027d69f412abcbb7c0e133 100644 --- a/controllers/room.py +++ b/controllers/room.py @@ -1,5 +1,6 @@ from parameter_util import JSON_BODY, JSON_CONTAINS from http_util import FAIL, CODE_JSON, CODE_MISSING, CODE_SEMANTIC +from room_util import ROOM_GET import random @@ -23,3 +24,26 @@ def create(): json = {"room_id": room_id, "room_code": room_record.code, "room_pw": room_record.hashcode} return(response.json(json)) + + +def status(): + parameters = JSON_BODY(request) + + if parameters == None: + return(FAIL(CODE_JSON)) + + if not JSON_CONTAINS(parameters, [('room_id', int), ('room_pw', str)]): + return(FAIL(CODE_MISSING)) + + room_id = parameters['room_id'] + room_pw = parameters['room_pw'] + + room_record = ROOM_GET(room_id, room_pw) + + if not room_record: + return(FAIL(CODE_SEMANTIC)) + + + json = {"players": []} + + return(response.json(json)) diff --git a/modules/room_util.py b/modules/room_util.py new file mode 100644 index 0000000000000000000000000000000000000000..c9eb7ba78047e534ce8a903b7bde9be095f068df --- /dev/null +++ b/modules/room_util.py @@ -0,0 +1,12 @@ +from gluon import * + +def ROOM_GET(_id, _password): + room_record = current.db(current.db.Room.id == _id).select().first() + + if not room_record: + return(None) + + if room_record.hashcode != _password: + return(None) + + return(room_record)