Beispiel #1
0
def user_register():
    user_fields = user_schema.load(request.json)

    user = User.query.filter_by(email=user_fields["email"]).first()

    if user:
        return abort(400, description="Email already registered to an account")

    try:
        last_record = db.session.query(User).order_by(User.id.desc()).first()
    except:
        last_record = 0

    user = User()
    user.id = last_record.id + 1
    user.displayname = user_fields["displayname"]
    user.username = user_fields["username"]
    user.email = user_fields["email"]
    user.password = bcrypt.generate_password_hash(
        user_fields["password"]).decode("utf-8")

    db.session.add(user)
    db.session.commit()

    return jsonify(user_schema.dump(user))
def get_user():
    user_id = get_jwt_identity()
    user = User.query.get(user_id)

    if not user:
        return abort(404, description="User not exist")
    return jsonify(user_schema.dump(user))
Beispiel #3
0
def user_create():

    user_fields = user_schema.load(request.json)

    user_with_same_email = User.query.filter_by(email=user_fields["email"]).first()
    user_with_same_username = User.query.filter_by(username=user_fields["username"]).first()

    if user_with_same_email:
         return abort(400, description="Username already registered")

    if user_with_same_username:
         return abort(400, description="Email already registered")

    user = User()
    user.username = user_fields["username"]
    user.first_name = user_fields["first_name"]
    user.last_name = user_fields["last_name"]
    user.created_at = user_fields["created_at"]
    user.dob = user_fields["dob"]
    user.email = user_fields["email"]
    user.mobile = user_fields["mobile"]
    user.city = user_fields["city"]
    user.country = user_fields["country"]
    user.password = bcrypt.generate_password_hash(user_fields["password"]).decode("utf-8")

    db.session.add(user)
    db.session.commit()

    return jsonify(user_schema.dump(user))
def update_user():
    user_id = get_jwt_identity()
    user = User.query.filter_by(id=user_id)

    if not user:
        return abort(401, description="Invalid user")

    update_fields = user_schema.load(request.json, partial=True)
    user.update(update_fields)
    db.session.commit()
    return jsonify(user_schema.dump(user[0]))
Beispiel #5
0
def auth_register():
    user_fields = user_schema.load(request.json)
    user = User.query.filter_by(email=user_fields["email"]).first()
    if user:
        return abort(400, description="Email already registered")
    
    user = User()
    user.email = user_fields["email"]
    user.password = bcrypt.generate_password_hash(user_fields["password"]).decode("utf-8")              # utf-8 online tool that is an encoder/decoder

    db.session.add(user)
    db.session.commit()

    return jsonify(user_schema.dump(user))
Beispiel #6
0
def auth_register():
    user_fields = user_schema.load(request.json)

    user = User.query.filter_by(email=user_fields["email"]).first()

    if user:
         return abort(400, description="Email already registered")

    user = User()
    user.email = user_fields["email"]
    user.password = user_fields["password"]

    db.session.add(user)
    db.session.commit()

    return jsonify(user_schema.dump(user))
Beispiel #7
0
def user_register():
    user_fields = user_schema.load(request.json)                             # Getting the fields from the User Schema
    user = User.query.filter_by(email=user_fields["email"]).first()       # Query the user table with the email and return the first user
    
    if user:                                                                 # If a user is returned 
        return abort(400, description="Email already in use")                # Return the error "Email already in use"

    user = User()                                                            # Re-init user as a new instance of the User model

    user.email = user_fields["email"]                                        # Add email to the user
    user.password = bcrypt.generate_password_hash(user_fields["password"]).decode("utf-8") # Hash the password and add it to the user

    db.session.add(user)                                                     # Add the user to the db session
    db.session.commit()                                                      # Commit the session

    return jsonify(user_schema.dump(user))                                # Return the user that was just created
Beispiel #8
0
def user_register():
    user_fields = user_schema.load(request.json)
    user = User.query.filter_by(email=user_fields["email"]).first()

    if user:
        return abort(400, description="Email already in use")

    user = User()

    user.email = user_fields["email"]
    user.password = bcrypt.generate_password_hash(
                    user_fields["password"]).decode("utf-8")
    user.isAdmin = user_fields["isAdmin"]

    db.session.add(user)
    db.session.commit()

    return jsonify(user_schema.dump(user))
Beispiel #9
0
def auth_register():
    user_fields = user_schema.load(request.json)

    #avoid to create a user that already exists
    user = User.query.filter_by(username=user_fields["username"]).first()

    if user:
        return abort(400, description="user already exists")

    user = User()
    user.username = user_fields["username"]
    user.password = bcrypt.generate_password_hash(
        user_fields["password"]).decode("utf-8")

    db.session.add(user)
    db.session.commit()

    return jsonify(user_schema.dump(user))
Beispiel #10
0
def auth_register():
    response = flask.request.json
    user_fields = user_schema.load(response)

    user = User.query.filter_by(email=user_fields["email"]).first()

    if user:
        return flask.abort(400, description="email already exists")

    user = User()
    user.email = user_fields["email"]
    user.password = bcrypt.generate_password_hash(
        user_fields["password"]).decode("utf-8")

    db.session.add(user)
    db.session.commit()

    return flask.jsonify(user_schema.dump(user))
Beispiel #11
0
def delete_user():
    user_id = get_jwt_identity()
    user = User.query.get(user_id)

    if not user:
        return abort(404, description="User not found")

    profiles = Profile.query.filter_by(user_id=user.user_id)

    for profile in profiles:
        while len(profile.unrecommend) > 0:
            for item in profile.unrecommend:
                profile.unrecommend.remove(item)
            db.session.commit()

    db.session.delete(user)
    db.session.commit()

    return jsonify(user_schema.dump(user))
Beispiel #12
0
def auth_register():
    # New user registration

    user_fields = user_schema.load(request.json)

    user = User.query.filter_by(email=user_fields["email"]).first()

    if user:
        return abort(400, description="Email already registered")

    user = User()
    user.email = user_fields["email"]
    user.name = user_fields["name"]
    user.password = bcrypt.generate_password_hash(
        user_fields["password"]).decode("utf-8")
    user.created_at = datetime.now()

    db.session.add(user)
    db.session.commit()

    return jsonify(user_schema.dump(user))
def auth_register():
    user_fields = user_schema.load(
        request.json)  # Getting the fields form the user schema in json format
    user = User.query.filter_by(email=user_fields["email"]).first(
    )  # Checking if the email sent through has already been registered

    if user:
        return abort(400, description="Email already registered"
                     )  # If the email is already in use then return this error

    user = User()  # Create a new user object
    user.email = user_fields["email"]  # Assign the email to the user

    user.password = bcrypt.generate_password_hash(
        user_fields["password"]).decode(
            "utf-8")  # Assign the password to the user

    db.session.add(user)  # Add the commited user to the session
    db.session.commit()  # Commit the session to the database

    return jsonify(user_schema.dump(user))  # Return the user in JSON format
Beispiel #14
0
    def post(self):
        data = request.json

        if not data:
            return {'messages': 'No data input provided'}, 400

        isEmailExists = UserModel.query.filter_by(email=data['email']).first()

        if isEmailExists:
            return {'message': 'Email is already been taken!'}, 403

        passs = data['password'].encode('utf-8')

        hashPassword = bcrypt.hashpw(passs, bcrypt.gensalt())

        public_id = str(uuid.uuid4())
        first_name = data['first_name']
        last_name = data['last_name']
        email = data['email']
        username = data['username']
        password = hashPassword

        new_user = UserModel(public_id, first_name, last_name, email, username,
                             password)

        db.session.add(new_user)
        db.session.commit()

        userResult = user_schema.dump(new_user)

        token = Token()

        token.jit = new_user.public_id
        token.email = new_user.email

        tokens = token.generate_token()

        return {'status': 'success', 'token': tokens}, 201