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
def register_profile():
    if request.method == 'POST':
        name = request.json.get("name", None)
        last_name = request.json.get("last_name", None)
        about_me = request.json.get("about_me", None)
        github = request.json.get("github", None)
        linkedin = request.json.get("linkedin", None)
        twitter = request.json.get("twitter", None)
        user_id = request.json.get("user_id", None)

        if not name:
            return "Email required", 401
        username = request.json.get("username", None)
        if not last_name:
            return "Username required", 401
        password = request.json.get("password", None)
        if not about_me:
            return "Password required", 401

        if not github:
            return "Password required", 401

        # email_query = User.query.filter_by(user_id=user_id).first()
        # if email_query:
        #     return "This email has been already taken", 401

        profile = Profile()
        profile.name = name
        profile.last_name = last_name
        profile.twitter = twitter
        profile.github = github
        profile.linkedin = linkedin
        profile.user_id = user_id
        profile.about_me = about_me
        profile.status = True

        db.session.add(profile)
        db.session.commit()

        response = {"msg": "Added successfully", "github": github}
        return jsonify(response), 200