Esempio n. 1
0
def update_user(id, body):
    """ Updates an active user matching a given id with given parameters such as name, email and password. When a
    parameter is empty it is not updated"""
    logging.debug("{users_controller} BEGIN function update_user()")

    if id is '':
        return RESP.response_400(message='The id parameter is empty!')

    try:
        user = CRUD.read_user_by_id(id)
    except Exception:
        return RESP.response_500(message='Database is down!')

    if user is None:
        return RESP.response_404(message='User not found!')

    try:
        if body['email'] is not '' and body['email'] != user.email:
            user_email = CRUD.read_user_by_email(body['email'])
            if user_email is not None:
                return RESP.response_409(
                    message='The given email is already in use!')
    except Exception:
        return RESP.response_500(message='Database is down!')

    try:
        CRUD.update_user(user, body['name'], body['email'],
                         UTILS.hash_password(body['password']))
        CRUD.commit()
    except Exception:
        CRUD.rollback()
        return RESP.response_500(message='Database is down!')

    return RESP.response_200(message='User updated with success!')
Esempio n. 2
0
def create_user(body):
    """ Creates a new user object given a name, email and password"""
    logging.debug("{users_controller} BEGIN function create_user()")

    if body['name'] is '' or body['email'] is '' or body['password'] is '':
        return RESP.response_400(message='A given parameter is empty!')

    try:
        if CRUD.read_user_by_email(body['email']) is not None:
            return RESP.response_409(
                message='The given email is already in use!')
    except Exception:
        return RESP.response_500(message='Database is down!')

    try:
        user = CRUD.create_user(body['name'], body['email'],
                                UTILS.hash_password(body['password']))
        CRUD.commit()
    except Exception:
        CRUD.rollback()
        return RESP.response_500(message='Database is down!')

    if user is None:
        return RESP.response_500(message='Error adding user into database!')

    return RESP.response_201(message='User created with success!')