def index(): log.info("Listing users") users = UserRepository.get_all_users() log.info(f"Returning list of {len(users)} users") return users
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
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
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
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
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 ""
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
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
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
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