Exemple #1
0
def create_token():
    email = request.json.get("email", None)
    password = request.json.get("password", None)

    if email is None:
        return jsonify({"msg": "No email was provided"}), 400
    if password is None:
        return jsonify({"msg": "No password was provided"}), 400

    user = User.query.filter_by(email=email, password=password).first()

    if user is None:
        # the user was not found on the database
        return jsonify({"msg": "Invalid username or password"}), 401
    else:
        todos = Todolist.query.filter_by(user_id=user.id).first()
        favs = Favorites.query.filter_by(user_id=user.id).first()
        profile = Profile.query.filter_by(user_id=user.id).first()
        if todos is None:
            new_todolist = Todolist()
            new_todolist.tasks = [""]
            new_todolist.user_id = user.id
            db.session.add(new_todolist)
            db.session.commit()
            print(new_todolist)
        else:
            pass

        if favs is None:
            new_favs = Favorites()
            new_favs.favs = [""]
            new_favs.user_id = user.id
            db.session.add(new_favs)
            db.session.commit()
        else:
            pass

        if profile is None:
            new_profile = Profile()
            new_profile.user_id = user.id
            new_profile.user_image = [""]
            new_profile.personal_description = [""]
            new_profile.occupation = [""]
            new_profile.location = [""]
            new_profile.hobbies = [""]

            db.session.add(new_profile)
            db.session.commit()
        else:
            pass

        print(user)
        # create a new token with the user id inside
        access_token = create_access_token(identity=user.id)

        return jsonify({"token": access_token, "user_id": user.id}), 200