def register(): if request.method == 'POST': formDisplayname = request.form['displayname'] formEmail = request.form['email'] formFName = request.form['firstname'] formLName = request.form['lastname'] hashed_password = bcrypt.hashpw( request.form['password'].encode('utf-8'), bcrypt.gensalt()).decode('utf-8') newUser = Users(displayname=formDisplayname, email=formEmail, password=hashed_password, firstName=formFName, lastName=formLName, activated=0, dateOfBirth=None, dateCreated=datetime.utcnow()) # check if user exists checkUser = db.session.query(Users).filter( Users.email == formEmail).first() checkEmail = db.session.query(Users).filter( Users.displayname == formDisplayname).first() if checkUser or checkEmail: return jsonify(success=False, response="User already exists"), 409 else: db.session.add(newUser) db.session.commit() login_user(newUser) return jsonify(success=True, User=Users.build_user_dict(newUser)), 201 else: return jsonify(success=False, response="Error has occured"), 500
def login(): email = request.form['email'] password = request.form['password'] user = db.session.query(Users).filter( Users.email == email).first() # TODO: Change this to get passw = bcrypt.checkpw(password.encode('utf-8'), user.password.encode('utf-8')) if user and passw: logged = login_user(user) ranks = [rank.rank for rank in user.rank] return jsonify(success=logged, User=Users.build_user_dict(user), Ranks=ranks), 201 else: return jsonify(success=False, response="Wrong email or password"), 400