removed ip from the get data

This commit is contained in:
2024-02-02 23:40:05 +01:00
parent 62f0e2933e
commit e92821f361
3 changed files with 21 additions and 3 deletions

View File

@@ -10,6 +10,7 @@ name = "pypi"
[packages] [packages]
flask = "*" flask = "*"
waitress = "*" waitress = "*"
flask-cors = "*"
[dev-packages] [dev-packages]

10
Pipfile.lock generated
View File

@@ -1,7 +1,7 @@
{ {
"_meta": { "_meta": {
"hash": { "hash": {
"sha256": "55dd8ff3f43a47010e3f0f9497177fc8d3f6c58f3267432762ab355a03a60699" "sha256": "bf145a7efea7bf54e12a44f98f5337716c953c98a41c5bed4b450576748ab614"
}, },
"pipfile-spec": 6, "pipfile-spec": 6,
"requires": { "requires": {
@@ -41,6 +41,14 @@
"markers": "python_version >= '3.8'", "markers": "python_version >= '3.8'",
"version": "==3.0.1" "version": "==3.0.1"
}, },
"flask-cors": {
"hashes": [
"sha256:bc3492bfd6368d27cfe79c7821df5a8a319e1a6d5eab277a3794be19bdc51783",
"sha256:f268522fcb2f73e2ecdde1ef45e2fd5c71cc48fe03cffb4b441c6d1b40684eb0"
],
"index": "pypi",
"version": "==4.0.0"
},
"itsdangerous": { "itsdangerous": {
"hashes": [ "hashes": [
"sha256:2c2349112351b88699d8d4b6b075022c0808887cb7ad10069318a8b0bc88db44", "sha256:2c2349112351b88699d8d4b6b075022c0808887cb7ad10069318a8b0bc88db44",

13
main.py
View File

@@ -1,6 +1,7 @@
from typing import Any from typing import Any
from flask import Flask, json, request from flask import Flask, json, request
from dataclasses import dataclass from dataclasses import dataclass
from flask_cors import CORS, cross_origin
@dataclass @dataclass
class Score: class Score:
@@ -8,7 +9,13 @@ class Score:
username: str username: str
ip: str | None = None ip: str | None = None
@dataclass()
class ScoreDTO:
score: int
username: str
app = Flask(__name__) app = Flask(__name__)
cors = CORS(app)
scores: list[Score] = [] scores: list[Score] = []
@app.route('/') @app.route('/')
@@ -16,11 +23,13 @@ def root():
return 'This is the snakes backend for the leaderboard and should only be requested by the snakes webapp' return 'This is the snakes backend for the leaderboard and should only be requested by the snakes webapp'
@app.route('/score', methods = ['GET']) @app.route('/score', methods = ['GET'])
@cross_origin()
def get_score() -> str: def get_score() -> str:
return json.dumps(scores) scoreDTOs = map(lambda score: ScoreDTO(score.score, score.username), scores)
return json.dumps(list(scoreDTOs))
@app.route('/score', methods = ['POST']) @app.route('/score', methods = ['POST'])
@cross_origin()
def add_score() -> str: def add_score() -> str:
body: Any | None = request.json body: Any | None = request.json