From 43c07769a81a2297b75c998e1a49741156051d52 Mon Sep 17 00:00:00 2001 From: Chinenye Nmoh Date: Mon, 26 May 2025 22:02:39 +0100 Subject: [PATCH] corrected checkRac swagger endpoint --- app/api/middlewares/verify_api_key.py | 2 +- app/api/routes/routes.py | 11 +++++++---- app/api/schemas/complete_rac_check.py | 1 + app/api/services/complete_rac_check_service.py | 2 -- app/swagger/digifi_swagger.json | 3 +++ app/swagger/paths/CompleteRACcheck.json | 8 ++------ 6 files changed, 14 insertions(+), 13 deletions(-) diff --git a/app/api/middlewares/verify_api_key.py b/app/api/middlewares/verify_api_key.py index f2bcf22..10b25d8 100644 --- a/app/api/middlewares/verify_api_key.py +++ b/app/api/middlewares/verify_api_key.py @@ -11,7 +11,7 @@ def require_api_key(f): @wraps(f) def decorated_function(*args, **kwargs): api_key = request.headers.get("X-API-KEY") - + logger.info(f"Received API key: {api_key}") if not api_key: logger.error("Unauthorized access: Missing API key.") diff --git a/app/api/routes/routes.py b/app/api/routes/routes.py index 1669c4d..47e4186 100644 --- a/app/api/routes/routes.py +++ b/app/api/routes/routes.py @@ -57,10 +57,13 @@ def rac_check(): @require_api_key @require_app_id def complete_rac_check(): - data = request.get_json() - # logger.info(f"CompleteRACcheck request received: {data}") - response = CompleteRACcheckService.process_request(data) - return response + try: + data = request.get_json() + response = CompleteRACcheckService.process_request(data) + return response + except Exception as e: + logger.exception("Unhandled exception in /CompleteRACcheck route") + return jsonify({"message": "Unhandled server error"}), 500 # Disbursement Endpoint @api.route('/DisburseLoan', methods=['POST']) diff --git a/app/api/schemas/complete_rac_check.py b/app/api/schemas/complete_rac_check.py index d079c57..b6d1448 100644 --- a/app/api/schemas/complete_rac_check.py +++ b/app/api/schemas/complete_rac_check.py @@ -3,6 +3,7 @@ from marshmallow import Schema, fields, validate # CompleteRACcheck Request Schema class CompleteRACcheckSchema(Schema): transactionId = fields.Str(required=True, description="Unique identifier of transaction. This transaction Id must be consistent across all platforms") + fbnTransactionId = fields.Str(required=True, description="Unique identifier of transaction in FBN system") customerId = fields.Str(required=True, description="Unique identifier of a user") accountId = fields.Str(required=True, description="Specific identifier of a user's account") RAC_Array = fields.Dict(required=True, description="Risk Acceptance Criteria array") diff --git a/app/api/services/complete_rac_check_service.py b/app/api/services/complete_rac_check_service.py index 3cdb26b..99e53e4 100644 --- a/app/api/services/complete_rac_check_service.py +++ b/app/api/services/complete_rac_check_service.py @@ -17,8 +17,6 @@ class CompleteRACcheckService: dict: A standardized response. """ try: - logger.info("Processing CompleteRACcheck request") - # Validate input data using CompleteRACcheckSchema schema = CompleteRACcheckSchema() validated_data = schema.load(data) # Raises ValidationError if invalid diff --git a/app/swagger/digifi_swagger.json b/app/swagger/digifi_swagger.json index df5f106..d769dd3 100644 --- a/app/swagger/digifi_swagger.json +++ b/app/swagger/digifi_swagger.json @@ -112,6 +112,9 @@ "paths": { "/api/rac-check": { "$ref": "swagger/paths/RACCheck.json" + }, + "/api/CompleteRACcheck": { + "$ref": "swagger/paths/CompleteRACcheck.json" }, "/api/DisburseLoan": { "$ref": "swagger/paths/Disbursement.json" diff --git a/app/swagger/paths/CompleteRACcheck.json b/app/swagger/paths/CompleteRACcheck.json index 95284b0..85f1012 100644 --- a/app/swagger/paths/CompleteRACcheck.json +++ b/app/swagger/paths/CompleteRACcheck.json @@ -50,11 +50,7 @@ "500": { "description": "Internal server error" } - }, - "security": [ - { - "basic_auth": [] - } - ] + } + } } -- 2.34.1