Merge branch 'oluyemi' of DigiFi/digifi-EventManager into master
This commit is contained in:
+2
-1
@@ -2,4 +2,5 @@
|
||||
__pycache__/
|
||||
*/__pycache__/
|
||||
.env
|
||||
app.log
|
||||
app.log
|
||||
.idea/
|
||||
@@ -1 +1,2 @@
|
||||
from .kafka import KafkaIntegration
|
||||
from .simbrella import SimbrellaClient
|
||||
@@ -3,7 +3,7 @@ import json
|
||||
from app.utils.logger import logger
|
||||
from app.config import settings
|
||||
import requests
|
||||
from app.routes.loan import disbursement as disbursement_endpoint
|
||||
from app.integrations.simbrella import SimbrellaClient
|
||||
|
||||
|
||||
class KafkaIntegration:
|
||||
@@ -96,7 +96,7 @@ class KafkaIntegration:
|
||||
logger.info(f"Calling disbursement endpoint with message: {message}")
|
||||
|
||||
try:
|
||||
response = disbursement_endpoint(message)
|
||||
response = SimbrellaClient.disbursement(message)
|
||||
logger.info(
|
||||
f"Successfully sent message to disbursement endpoint: {response.status_code}"
|
||||
)
|
||||
|
||||
@@ -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
@@ -153,25 +153,26 @@ def rac_check():
|
||||
return jsonify(response), 200
|
||||
|
||||
|
||||
@loan_bp.route("/disbursement", methods=["POST"])
|
||||
def disbursement(data=None):
|
||||
if data is None:
|
||||
data = request.json
|
||||
@loan_bp.route("/refresh-disbursement", methods=["GET"])
|
||||
def disbursement():
|
||||
|
||||
data = request.json()
|
||||
|
||||
api_url = f"{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
|
||||
return jsonify(data), 200
|
||||
#
|
||||
# response = requests.post(
|
||||
# api_url,
|
||||
# json=data,
|
||||
# headers=get_headers(),
|
||||
# )
|
||||
#
|
||||
# logger.info(f"Disbursement response: {response.json()}")
|
||||
|
||||
# return jsonify(response.json()), response.status_code
|
||||
|
||||
@loan_bp.route("/collect-loan", methods=["POST"])
|
||||
def collect_loan():
|
||||
@@ -198,7 +199,7 @@ def collect_loan():
|
||||
return jsonify(response), 200
|
||||
|
||||
|
||||
@loan_bp.route("/transaction-verify", methods=["POST"])
|
||||
@loan_bp.route("/verify-transactions", methods=["GET"])
|
||||
def transaction_verify():
|
||||
data = request.json
|
||||
api_url = f"{BASE_URL}/TransactionVerify"
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@ from app.config import settings
|
||||
|
||||
def get_headers():
|
||||
return {
|
||||
'Content-Type': 'application/json',
|
||||
"Content-Type": "application/json",
|
||||
"x-api_key": settings.BANK_CALL_API_KEY,
|
||||
"App-Id": settings.BANK_CALL_APP_ID,
|
||||
}
|
||||
|
||||
+5
-5
@@ -330,9 +330,9 @@ paths:
|
||||
responses:
|
||||
200:
|
||||
description: A successful response
|
||||
/loans/disbursement:
|
||||
post:
|
||||
summary: Disburse a loan
|
||||
/loans/refresh-disbursement:
|
||||
get:
|
||||
summary: Refresh disburse of a loan
|
||||
requestBody:
|
||||
required: true
|
||||
content:
|
||||
@@ -434,8 +434,8 @@ paths:
|
||||
responses:
|
||||
200:
|
||||
description: A successful response
|
||||
/loans/transaction-verify:
|
||||
post:
|
||||
/loans/verify-transactions:
|
||||
get:
|
||||
summary: Verify a transaction
|
||||
requestBody:
|
||||
required: true
|
||||
|
||||
@@ -6,19 +6,19 @@ from app.utils.logger import logger
|
||||
app = create_app()
|
||||
|
||||
if __name__ != "__main__":
|
||||
|
||||
kafka = KafkaIntegration()
|
||||
|
||||
logger.info("Starting Kafka consumer...")
|
||||
while True:
|
||||
message = kafka.receive_disbursement_messages(
|
||||
topic=settings.KAFKA_PAYMENT_TOPIC, timeout=settings.KAFKA_TIMEOUT
|
||||
)
|
||||
|
||||
if message:
|
||||
logger.info(f"Processed message: {message}")
|
||||
else:
|
||||
logger.info("No message received within timeout")
|
||||
#
|
||||
# kafka = KafkaIntegration()
|
||||
#
|
||||
# logger.info("Starting Kafka consumer...")
|
||||
# while True:
|
||||
# message = kafka.receive_disbursement_messages(
|
||||
# topic=settings.KAFKA_PAYMENT_TOPIC, timeout=settings.KAFKA_TIMEOUT
|
||||
# )
|
||||
#
|
||||
# if message:
|
||||
# logger.info(f"Processed message: {message}")
|
||||
# else:
|
||||
# logger.info("No message received within timeout")
|
||||
|
||||
# Expose WSGI app instance for Gunicorn
|
||||
wsgi_app = app
|
||||
|
||||
Reference in New Issue
Block a user