From 339ef339e4703d21c4f9b2d47c7af7050a3a8f42 Mon Sep 17 00:00:00 2001 From: Anorak_1 Date: Tue, 1 Nov 2022 09:15:13 +0100 Subject: [PATCH] Modified file: backend.py Refactored leaderboard request to prepare for multimap environment --- backend.py | 31 ++++++++++++++++++------------- 1 file changed, 18 insertions(+), 13 deletions(-) diff --git a/backend.py b/backend.py index bf92c67..cd1b12b 100644 --- a/backend.py +++ b/backend.py @@ -6,19 +6,8 @@ import sqlite3 app = Flask("LeaderAPI") CORS(app) api = Api(app) -#app.config['CORS_HEADERS'] = 'Content-Type' - -class LeaderAPI(Resource): - - def get(self): - dbcon = sqlite3.connect("leaderboard.db") - db = dbcon.cursor() - leaderboard = db.execute("SELECT time_username,time_time FROM leaderboard ORDER BY time_time LIMIT 10").fetchall() - db.close() - dbcon.close() - # dictionary of leaderboard is json, encoding using json.dumps results in double encoding with "" and return to browser as type string - return list(leaderboard) +class LeaderPostAPI(Resource): def post(self): data = request.get_json() print(data) @@ -34,11 +23,27 @@ class LeaderAPI(Resource): db.close() dbcon.close() +class LeaderGetAPI(Resource): + + def post(self): + data = request.get_json() + print(data) + # Pylance error seems to be fine, no problems I guess + gamemap = data['map'] + dbcon = sqlite3.connect("leaderboard.db") + db = dbcon.cursor() + leaderboard = db.execute(f"SELECT time_username,time_time FROM leaderboard WHERE time_map = '{gamemap}' ORDER BY time_time LIMIT 10").fetchall() + db.close() + dbcon.close() + # dictionary of leaderboard is json, encoding using json.dumps results in double encoding with "" and return to browser as type string + return list(leaderboard) + class TokenAPI(Resource): def get(self): print(request.remote_addr) -api.add_resource(LeaderAPI, "/") +api.add_resource(LeaderGetAPI, "/get/") +api.add_resource(LeaderPostAPI, "/post/") api.add_resource(TokenAPI, "/token/") if __name__ == "__main__":