def create(): content = request.json username = content['username'] user_exists = UsersModel.find_user_by_username(username) if user_exists: return jsonify(success=False, msg='Username already exists'), 409 email = content['email'] email_exists = UsersModel.find_user_by_email(email) if email_exists: return jsonify(success=False, msg='Email already used'), 409 password = content['password'] display_name = content['displayName'] new_user = UsersModel(username, hashlib.sha256(password.encode("utf-8")).hexdigest(), email) new_user.save_to_db() new_location = LocationsModel(new_user, 0.0, 0.0) new_location.save_to_db() premade = '[{"key":"InitialGreeting","title":"Greetings","text":"Hi, this is ' + display_name + '"}]' new_pass = PassesModel(new_user, display_name, premade) new_pass.save_to_db() return jsonify(success=True), 200
def fogot(): content = request.json email = content['email'] email_exists = UsersModel.find_user_by_email(email) if email_exists: expires = datetime.timedelta(minutes=5) access_token = create_access_token(identity=email_exists.id, expires_delta=expires) link = 'https://nkchia.pythonanywhere.com/recover?t=' + access_token msg = Message( subject="CloCards Password Recovery", sender=app.config.get("MAIL_USERNAME"), recipients=[email], body="Follow this link to reset your Clocards account password:\n" + link) Thread(target=send_email, args=(app, msg)).start() return jsonify(success=True), 200 else: return jsonify(success=False, msg='Email does not exist'), 404