from flask import Blueprint, session, request from flask import current_app as app from models import db, Users from utils import api_wrapper blueprint = Blueprint("user", __name__) @blueprint.route("/register", methods=["POST"]) @api_wrapper def user_register(): name = request.form["name"] username = request.form["username"] password = request.form["password"] password_confirm = request.form["password_confirm"] email = request.form["email"] username_exists = Users.query.add_columns("name", "uid").filter_by(username=username).first() email_exists = Users.query.add_columns("name", "uid").filter_by(email=email).first() if password != password_confirm: return { "success": 0, "message": "Passwords do not match." } if len(password) > 128: return { "success": 0, "message": "Password is too long." } if len(password) == 0: return { "success": 0, "message": "Password is too short." } if len(username) > 64: return { "success": 0, "message": "Username is too long." } if username_exists: return { "success": 0, "message": "Username is already taken." } if email_exists: return { "success": 0, "message": "Email has already been used." } add_user(name, username, email, password) return { "success": 1, "message": "Success!" } @blueprint.route("/logout", methods=["POST"]) @api_wrapper def user_logout(): # session.clear() pass @blueprint.route("/login", methods=["POST"]) @api_wrapper def user_login(): pass def add_user(name, username, email, password): user = Users(name, username, email, password) db.session.add(user) db.session.commit()