From 26631dadc7cf1406060f2574ce3dda484066ac6a Mon Sep 17 00:00:00 2001 From: lonkaars Date: Wed, 13 Jan 2021 19:01:04 +0100 Subject: semi- user registration --- api/auth/signup.py | 32 ++++++++++++++++++++++++++++++++ api/main.py | 10 ++++++++++ api/randid.py | 11 +++++++++++ 3 files changed, 53 insertions(+) create mode 100644 api/auth/signup.py create mode 100644 api/randid.py (limited to 'api') diff --git a/api/auth/signup.py b/api/auth/signup.py new file mode 100644 index 0000000..df6a271 --- /dev/null +++ b/api/auth/signup.py @@ -0,0 +1,32 @@ +from flask import Blueprint, request +from main import cursor, connection +from randid import new_uuid +import time +import json + +signup = Blueprint('signup', __name__) + +@signup.route('/signup', methods = ['POST']) +def index(): + data = request.get_json() + + username = data.get("username") or "" + email = data.get("email") or "" + password = data.get("password") or "" + + if not username or \ + not email or \ + not password: + return "", 400 + + user_id = new_uuid() + password_salt = "salt" + password_hash = "hash" + registered = int( time.time() * 1000 ) + + cursor.execute("insert into users values (?, ?, ?, NULL, ?, ?, ?, NULL, FALSE, \"user\", \"{}\", NULL, \"online\") ", + (user_id, username, email, password_salt, password_hash, registered)) + + connection.commit() + + return "", 200 diff --git a/api/main.py b/api/main.py index d96f3b2..bbdb341 100644 --- a/api/main.py +++ b/api/main.py @@ -1,9 +1,19 @@ from flask import Flask +import sqlite3 +import os + app = Flask(__name__) +db_path = os.path.abspath("database/database.db") +connection = sqlite3.connect(db_path, check_same_thread=False) +#! ^^^ Dit is onveilig en goede multithreading support moet nog geïmplementeerd worden +cursor = connection.cursor() + from status import status from user.info import info +from auth.signup import signup app.register_blueprint(status, url_prefix='/api') app.register_blueprint(info, url_prefix='/api/user') +app.register_blueprint(signup, url_prefix='/api/auth') diff --git a/api/randid.py b/api/randid.py new file mode 100644 index 0000000..a6ff11f --- /dev/null +++ b/api/randid.py @@ -0,0 +1,11 @@ +from main import cursor +import uuid + +def new_uuid(): + temp_uuid = str(uuid.uuid4()) + query = cursor.execute("select user_id from users where user_id = \"{temp_uuid}\"").fetchone() + if query: + return new_uuid() + else: + return temp_uuid + -- cgit v1.2.3