Merge branch 'oluyemi' of DigiFi/digifi-EventManager into master

This commit is contained in:
2025-04-11 15:46:07 +00:00
committed by Gogs
8 changed files with 65 additions and 36 deletions
+2 -1
View File
@@ -2,4 +2,5 @@
__pycache__/ __pycache__/
*/__pycache__/ */__pycache__/
.env .env
app.log app.log
.idea/
+1
View File
@@ -1 +1,2 @@
from .kafka import KafkaIntegration from .kafka import KafkaIntegration
from .simbrella import SimbrellaClient
+2 -2
View File
@@ -3,7 +3,7 @@ import json
from app.utils.logger import logger from app.utils.logger import logger
from app.config import settings from app.config import settings
import requests import requests
from app.routes.loan import disbursement as disbursement_endpoint from app.integrations.simbrella import SimbrellaClient
class KafkaIntegration: class KafkaIntegration:
@@ -96,7 +96,7 @@ class KafkaIntegration:
logger.info(f"Calling disbursement endpoint with message: {message}") logger.info(f"Calling disbursement endpoint with message: {message}")
try: try:
response = disbursement_endpoint(message) response = SimbrellaClient.disbursement(message)
logger.info( logger.info(
f"Successfully sent message to disbursement endpoint: {response.status_code}" f"Successfully sent message to disbursement endpoint: {response.status_code}"
) )
+26
View File
@@ -0,0 +1,26 @@
import requests
from app.config import settings
from app.utils.auth import get_headers
from app.utils.logger import logger
from flask import jsonify
class SimbrellaClient:
BASE_URL = settings.BANK_CALL_BASE_URL
@staticmethod
def disbursement(data):
api_url = f"{SimbrellaClient.BASE_URL}/Disbursement"
logger.info(f"Calling disbursement endpoint with data: {data}")
response = requests.post(
api_url,
json=data,
headers=get_headers()
)
logger.info(f"Disbursement response: {response.json()}")
return jsonify(response.json()), response.status_code
+15 -14
View File
@@ -153,25 +153,26 @@ def rac_check():
return jsonify(response), 200 return jsonify(response), 200
@loan_bp.route("/disbursement", methods=["POST"]) @loan_bp.route("/refresh-disbursement", methods=["GET"])
def disbursement(data=None): def disbursement():
if data is None:
data = request.json data = request.json()
api_url = f"{BASE_URL}/Disbursement" api_url = f"{BASE_URL}/Disbursement"
logger.info(f"Calling disbursement endpoint with data: {data}") logger.info(f"Calling disbursement endpoint with data: {data}")
response = requests.post( return jsonify(data), 200
api_url, #
json=data, # response = requests.post(
headers=get_headers(), # api_url,
) # json=data,
# headers=get_headers(),
logger.info(f"Disbursement response: {response.json()}") # )
#
return jsonify(response.json()), response.status_code # logger.info(f"Disbursement response: {response.json()}")
# return jsonify(response.json()), response.status_code
@loan_bp.route("/collect-loan", methods=["POST"]) @loan_bp.route("/collect-loan", methods=["POST"])
def collect_loan(): def collect_loan():
@@ -198,7 +199,7 @@ def collect_loan():
return jsonify(response), 200 return jsonify(response), 200
@loan_bp.route("/transaction-verify", methods=["POST"]) @loan_bp.route("/verify-transactions", methods=["GET"])
def transaction_verify(): def transaction_verify():
data = request.json data = request.json
api_url = f"{BASE_URL}/TransactionVerify" api_url = f"{BASE_URL}/TransactionVerify"
+1 -1
View File
@@ -3,7 +3,7 @@ from app.config import settings
def get_headers(): def get_headers():
return { return {
'Content-Type': 'application/json', "Content-Type": "application/json",
"x-api_key": settings.BANK_CALL_API_KEY, "x-api_key": settings.BANK_CALL_API_KEY,
"App-Id": settings.BANK_CALL_APP_ID, "App-Id": settings.BANK_CALL_APP_ID,
} }
+5 -5
View File
@@ -330,9 +330,9 @@ paths:
responses: responses:
200: 200:
description: A successful response description: A successful response
/loans/disbursement: /loans/refresh-disbursement:
post: get:
summary: Disburse a loan summary: Refresh disburse of a loan
requestBody: requestBody:
required: true required: true
content: content:
@@ -434,8 +434,8 @@ paths:
responses: responses:
200: 200:
description: A successful response description: A successful response
/loans/transaction-verify: /loans/verify-transactions:
post: get:
summary: Verify a transaction summary: Verify a transaction
requestBody: requestBody:
required: true required: true
+13 -13
View File
@@ -6,19 +6,19 @@ from app.utils.logger import logger
app = create_app() app = create_app()
if __name__ != "__main__": if __name__ != "__main__":
#
kafka = KafkaIntegration() # kafka = KafkaIntegration()
#
logger.info("Starting Kafka consumer...") # logger.info("Starting Kafka consumer...")
while True: # while True:
message = kafka.receive_disbursement_messages( # message = kafka.receive_disbursement_messages(
topic=settings.KAFKA_PAYMENT_TOPIC, timeout=settings.KAFKA_TIMEOUT # topic=settings.KAFKA_PAYMENT_TOPIC, timeout=settings.KAFKA_TIMEOUT
) # )
#
if message: # if message:
logger.info(f"Processed message: {message}") # logger.info(f"Processed message: {message}")
else: # else:
logger.info("No message received within timeout") # logger.info("No message received within timeout")
# Expose WSGI app instance for Gunicorn # Expose WSGI app instance for Gunicorn
wsgi_app = app wsgi_app = app