コード例 #1
0
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
コード例 #2
0
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