Пример #1
0
def index():
    log.info("Listing users")

    users = UserRepository.get_all_users()

    log.info(f"Returning list of {len(users)} users")
    return users
Пример #2
0
def index():
    log.info("Listing credit requests")

    credit_requests = CreditRequestRepository.get_all_requests()

    log.info(f"Returning list of {len(credit_requests)} credit requests")
    return credit_requests
Пример #3
0
def show(user_id):
    log.info(f"Getting user {user_id}")

    if not validate_uuid(user_id):
        raise A55ApiError.invalid_uuid_parameter()

    user = UserRepository.get_by_external_id(user_id)

    if user is None:
        raise A55ApiError.user_not_found()

    log.info(f"Returning {user.__str__()}")
    return user
Пример #4
0
def show(ticket):
    log.info(f"Getting ticket {ticket}")

    if not validate_uuid(ticket):
        raise A55ApiError.invalid_uuid_parameter()

    credit_request = CreditRequestRepository.get_by_ticket(ticket)

    if credit_request is None:
        raise A55ApiError.ticket_not_found()

    log.info(f"Returning {credit_request.__str__()}")
    return credit_request
Пример #5
0
def create_app(config_object=None):
    if not config_object:
        config_object = DevConfig if get_debug_flag() else ProdConfig

    log.info(f"Creating Flask app on {config_object.ENV}")
    app = Flask(__name__)
    app.config.from_object(config_object)

    # Initializing database
    log.info("Initializing database")
    db.init_app(app)
    migrate.init_app(app, db)

    # Registering error handlers
    log.info("Registering error handlers")
    register_custom_errorhandler(app)
    app.register_error_handler(400, generic_bad_request)
    app.register_error_handler(500, generic_system_error)

    # Registering blueprints
    log.info("Registering blueprints")
    app.register_blueprint(creditRequestBlueprint)
    app.register_blueprint(userBlueprint)

    return app
Пример #6
0
def delete(user_id):
    log.info(f"Deleting user {user_id}")

    if not validate_uuid(user_id):
        raise A55ApiError.invalid_uuid_parameter()

    user = UserRepository.get_by_external_id(user_id)

    if user is None:
        raise A55ApiError.user_not_found()

    user.delete()

    log.info(f"Successfully deleted user {user_id}")
    return ""
Пример #7
0
def create():
    log.info("Creating user")

    if not request.json:
        raise A55ApiError.invalid_body_format()

    try:
        create_user_schema.load(request.json)
    except ValidationError as err:
        log.error(f"Validation errors: {err.messages}")
        raise A55ApiError.invalid_body_input()

    user_data = request.json
    user = create_new_user(user_data)

    log.info(f"Returning {user.__str__()}")
    return user
Пример #8
0
def create():
    log.info("Requesting credit")

    if not request.json:
        raise A55ApiError.invalid_body_format()

    try:
        create_credit_request_schema.load(request.json)
    except ValidationError as err:
        log.error(f"Validation errors: {err.messages}")
        raise A55ApiError.invalid_body_input()

    credit_request_data = request.json
    credit_request = request_credit(credit_request_data)

    log.info(f"Returning {credit_request.__str__()}")
    return credit_request
Пример #9
0
def update(user_id):
    log.info(f"Updating user {user_id}")

    if not validate_uuid(user_id):
        raise A55ApiError.invalid_uuid_parameter()

    if not request.json:
        raise A55ApiError.invalid_body_format()

    try:
        update_user_schema.load(request.json)
    except ValidationError as err:
        log.error(f"Validation errors: {err.messages}")
        raise A55ApiError.invalid_body_input()

    user_data = request.json
    user = update_user(user_data, user_id)

    log.info(f"Returning {user.__str__()}")
    return user
Пример #10
0
def validate_credit_request(amount, ticket, age, wait_time=None):
    log.info(f"Worker validating ticket {ticket}: age {age} amount {amount}")
    # simulate a time consuming task
    if wait_time is None:
        wait_time = int(WORKER_SIMULATED_TIME)

    if wait_time > 0:
        time.sleep(wait_time)

    validator = Validator(amount, age)
    status = "Approved" if validator.validate() else "Denied"

    log.info(f"Setting {status} for ticket {ticket}")
    update_credit_request_status(ticket, status)

    log.info("Worker successfully validated")
    return status