Skip to content
Snippets Groups Projects
Commit 99dde746 authored by MaximeOLIVA's avatar MaximeOLIVA
Browse files

get_data

parent 1b7b3e44
No related branches found
No related tags found
No related merge requests found
No preview for this file type
No preview for this file type
No preview for this file type
...@@ -59,7 +59,6 @@ def log_in(token, email): ...@@ -59,7 +59,6 @@ def log_in(token, email):
return False return False
def log_out(token): def log_out(token):
try: try:
cursor = get_db().cursor() cursor = get_db().cursor()
...@@ -72,3 +71,43 @@ def log_out(token): ...@@ -72,3 +71,43 @@ def log_out(token):
return False return False
except: except:
return False return False
def tokenToEmail(token):
try:
cursor = get_db().cursor()
cursor.execute("SELECT * FROM LOGGEDINUSERS WHERE TOKEN=?;", [token])
result = cursor.fetchone()
email = result[1]
if email:
return email
return None
except:
return None
def is_online(token):
try:
cursor = get_db().cursor()
cursor.execute("SELECT * FROM LOGGEDINUSERS WHERE TOKEN=?;", [token])
result = cursor.fetchone()
if result:
return True
return False
except:
return False
def get_data_email(email):
try:
cursor = get_db().cursor()
cursor.execute("SELECT * FROM USERS WHERE EMAIL=?;", [email])
result = cursor.fetchone()
if result:
data = []
for r in result:
data.append(r)
return data
return None
except:
return None
...@@ -8,12 +8,22 @@ app = Flask(__name__) ...@@ -8,12 +8,22 @@ app = Flask(__name__)
#database_helper.create_database() #database_helper.create_database()
@app.route("/", methods = ['GET']) @app.route("/", methods = ['GET'])
def hello_world(): def hello_world():
return "<p>Hello, Lab_2!</p>", 200 return "<p>Hello, Lab_2!</p>", 200
@app.route("/sign_up", methods = ['POST']) @app.route("/delete", methods = ['GET'])
def delete():
resp = database_helper.clean_db()
if resp:
return "", 200
else:
return "", 409
@app.route("/users/sign_up", methods = ['POST'])
def sign_up(): def sign_up():
data = request.get_json() data = request.get_json()
if ('email' in data and isinstance(data['email'], str) if ('email' in data and isinstance(data['email'], str)
...@@ -38,7 +48,8 @@ def sign_up(): ...@@ -38,7 +48,8 @@ def sign_up():
else: else:
return "", 400 return "", 400
@app.route("/sign_in", methods = ['POST'])
@app.route("/users/sign_in", methods = ['POST'])
def sign_in(): def sign_in():
data = request.get_json() data = request.get_json()
if('email' in data if('email' in data
...@@ -54,7 +65,8 @@ def sign_in(): ...@@ -54,7 +65,8 @@ def sign_in():
else: else:
return "", 400 return "", 400
@app.route("/sign_out", methods = ['POST'])
@app.route("/users/sign_out", methods = ['POST'])
def sign_out(): def sign_out():
data = request.get_json() data = request.get_json()
if('token' in data): if('token' in data):
...@@ -66,15 +78,45 @@ def sign_out(): ...@@ -66,15 +78,45 @@ def sign_out():
return "", 400 return "", 400
@app.route("/delete", methods = ['GET']) @app.route("/account/change_password", methods = ['PUT'])
def delete(): def change_password():
resp = database_helper.clean_db() data = request.get_json()
if resp: if('token' in data and 'oldPassword' in data and 'newPassword' in data):
return "", 200 return True
#return "", 204
else: else:
return "", 409 return "", 400
@app.route("/account/get/data/<token>", methods = ['GET'])
def get_user_data_token(token):
email = database_helper.tokenToEmail(token)
if email:
return get_user_data_email(token, email)
else:
return "", 403
@app.route("/account/get/data/<token>/<email>", methods = ['GET'])
def get_user_data_email(token, email):
if database_helper.is_online(token):
data = database_helper.get_data_email(email)
if data:
value = {
"firstname": data[0],
"familyname": data[1],
"gender": data[2],
"city": data[3],
"country": data[4],
"email": data[5],
"password": data[6],
}
return jsonify(value), 200
else:
return "", 404
else:
return "", 403
def generate_token(): def generate_token():
characters = string.ascii_letters + string.digits characters = string.ascii_letters + string.digits
return ''.join(random.choices(characters, k=36)) return ''.join(random.choices(characters, k=36))
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment