diff --git a/api.py b/api.py index 4ce4d23..0631c28 100644 --- a/api.py +++ b/api.py @@ -1,4 +1,11 @@ from flask import Flask +import json + +rooms : dict + +JsonWorldArrayFilePath = "db/roomlist.json" + + app = Flask("RecForever.API") @@ -6,4 +13,13 @@ app = Flask("RecForever.API") def apiRoot(): pass +@app.route("/api/listworlds") +def getWorldList(): + global rooms + with open(JsonWorldArrayFilePath, 'r') as WorldList: + list = json.load(WorldList) + rooms = list + + return rooms + app.run(port=9902) \ No newline at end of file diff --git a/auth.py b/auth.py index 707cfcb..d04bb4e 100644 --- a/auth.py +++ b/auth.py @@ -1,15 +1,47 @@ from flask import Flask, request, jsonify -players = { - "Dev": "Dev123" -} +from tinydb import TinyDB, Query +import os +import json + +doesDBExist = False + +if not os.path.exists("db/player.json"): + doesDBExist = False +else: + doesDBExist = True + +PlayerDatabase = TinyDB("db/player.json") + +if not doesDBExist: + PlayerDatabase.insert({"data": {"id": 0, "name": "Dev", "pass": "Dev123"}}) + +Users = Query() + + + +def getUserData(username:str): + results = PlayerDatabase.search(Users.data.name == username) + + if results: + pdata = results[0]["data"] + jstring = json.dumps(pdata) + j = json.loads(jstring) + return j + +players = {} + app = Flask("RecForever.Auth") @app.route("/login/byuid", methods=['POST']) def login(): data = request.get_json() username = data.get('username') password = data.get('password') - if players[username] == password: - return jsonify({"status": "ok"}), 200 + + userData = getUserData(username) + + if userData["pass"] == password: + return jsonify({"status": "ok", "uid": userData["id"]}), 200 else: - return jsonify({"status": "forbidden"}), 403 + return jsonify({"status": "forbidden", "uid": userData["id"]}), 403 + app.run(port=9904) \ No newline at end of file diff --git a/db/player.json b/db/player.json new file mode 100644 index 0000000..ed8679e --- /dev/null +++ b/db/player.json @@ -0,0 +1 @@ +{"_default": {"1": {"data": {"id": 0, "name": "Dev", "pass": "Dev123"}}}} \ No newline at end of file diff --git a/db/roomlist.json b/db/roomlist.json new file mode 100644 index 0000000..be2dc7d --- /dev/null +++ b/db/roomlist.json @@ -0,0 +1,8 @@ +{ + "rooms": { + "DormRoom": { + "SpaceID": "DormRoom", + "icon": "DormRoomImage.png" + } + } +} \ No newline at end of file diff --git a/db/spaces/DormRoom.pck b/db/spaces/DormRoom.pck new file mode 100644 index 0000000..ec22803 Binary files /dev/null and b/db/spaces/DormRoom.pck differ