Example #1
0
def user_login():
    try:
        payload = UserLoginSchema().load(request.json)
        user = UserHandler.get_user_from_email(payload.get('email'))
        UserHandler.verify_password(password=payload.get('password'),
                                    stored_hash=user.password_hash,
                                    salt=user.password_salt)
    except ValidationError as error:
        return error.messages, 422
    except (UserNotFoundException, PasswordMismatchException) as e:
        return {"error": "Failed login attempt"}, 401

    UserSessionHandler.invalidate_active_sessions(user)
    token = UserSessionHandler.generate_session_jwt(user.user_id)

    return jsonify({"token": token}), 201
Example #2
0
def user_register():
    try:
        payload = NewUserInputSchema().load(request.json)
        new_user = UserHandler.create_new_user(**payload)
    except ValidationError as error:
        return error.messages, 422
    except RepeatEmailException:
        return jsonify(message="Email is already being used"), 422

    out = UserSchema().dump(new_user)
    return jsonify(out), 201
Example #3
0
def invalidate_user_session():
    user_id = get_jwt_identity()
    user = UserHandler.get_user_from_id(user_id)
    UserSessionHandler.invalidate_active_sessions(user)
    return jsonify(message=f"Terminated sessions for #{user_id}"), 201
Example #4
0
def getAllContactsFor(id):
    if request.method == 'GET':
        return UserHandler().getUserContacts(id)
    elif request.method == 'POST':
        return ContactHandler().insertContact(id, request.get_json())
Example #5
0
 def getOwnerOfGroup(self, id):  #
     dao = GroupDAO()
     result = dao.getOwnerOfGroup(id)
     if result is None:
         return jsonify(Error="NOT FOUND"), 404
     return jsonify(Owner=UserHandler().ownerToDict(result))
Example #6
0
def getAllUsers():
    if not request.args:
        return UserHandler().getAllUsers()
    else:
        return UserHandler().searchUser(request.args)
Example #7
0
def getUserByID():
    return UserHandler().getUserById(request.headers)
Example #8
0
def getProfileById(id):
    return UserHandler().profileInfoById(id)
Example #9
0
def register():
    if request.method == 'POST':
        return UserHandler().insertUser(request.get_json())
Example #10
0
def login():
    if request.method == 'POST':
        return UserHandler().login(request.get_json())