Skip to content
Snippets Groups Projects
Commit e50e834a authored by ComeF2's avatar ComeF2
Browse files

Implémentation sign_in

parent 143a5b44
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
File added
......@@ -7,13 +7,20 @@ def get_db():
db = getattr(g, 'db', None)
if db is None:
db = g.db = sqlite3.connect(DATABASE_URI)
return db
def create_database():
conn = sqlite3.connect('database.db')
cursor = conn.cursor()
with open('schema.sql', 'r') as file:
sql = file.read()
cursor.executescript(sql)
conn.commit()
conn.close()
def create_user(email, password, firstname, familyname, gender, city, country):
try:
get_db().execute("INSERT into USERS values(?, ?, ?, ?, ?, ?, ?);", [firstname, familyname, gender, city, country, email, password]);
get_db().execute("INSERT into USERS values(?, ?, ?, ?, ?, ?, ?);", [firstname, familyname, gender, city, country, email, password])
get_db().commit()
return True
except:
......@@ -25,3 +32,15 @@ def clean_db():
return True
except:
return False
def authenticate(email, password):
try:
cursor = get_db().cursor()
cursor.execute("SELECT * FROM USERS WHERE EMAIL=? AND PASSWORD=?;", [email, password])
user = cursor.fetchone()
if user:
return True
return False
except:
return False
\ No newline at end of file
from flask import Flask, request, jsonify
import database_helper
import random
import string
app = Flask(__name__)
#database_helper.create_database()
@app.route("/", methods = ['GET'])
def hello_world():
return "<p>Hello, Lab_2!</p>", 200
......@@ -34,7 +38,19 @@ def sign_up():
else:
return "test", 400
@app.route("/sign_in", methods = ['POST'])
def sign_in():
data = request.get_json()
if('email' in data
and 'password' in data):
if not database_helper.authenticate(data['email'], data['password']):
return "", 401
else :
token = generate_token()
print(token)
return token, 200
else:
return "", 400
@app.route("/delete", methods = ['GET'])
def delete():
......@@ -45,6 +61,10 @@ def delete():
return "", 409
def generate_token():
characters = string.ascii_letters + string.digits
return ''.join(random.choices(characters, k=36))
if __name__ == '__main__':
app.debug = True
app.run()
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment