This commit is contained in:
Azeez Muibi
2025-04-24 12:42:35 +01:00
parent d80a43cb6f
commit 4e63905308
19 changed files with 786 additions and 218 deletions
+36 -9
View File
@@ -1,7 +1,8 @@
from flask import Blueprint, request, jsonify, send_from_directory
from flask import Blueprint, request, jsonify
from app.api.services import RepaymentService
from app.api.services.repayment_service import RepaymentService
from app.api.services.loan_charge_service import LoanChargeService
from app.api.services.loan_service import LoanService
from app.api.services.transaction_service import TransactionService
from app.api.services.auth_service import AuthService
@@ -138,11 +139,37 @@ def get_transactions():
response = TransactionService.process_request(filters)
return response
# Repayment Endpoint
@api.route("/Repayment", methods=["POST"])
# @jwt_required()
def repayment():
data = request.get_json()
# logger.info(f"Repayment request received: {data}")
response = RepaymentService.process_request(data)
return response
@api.route('/repayments', methods=['GET'])
# @token_required
def get_all_repayments():
# Extract query parameters for filtering
filters = {
'loan_id': request.args.get('loan_id'),
'customer_id': request.args.get('customer_id'),
'product_id': request.args.get('product_id'),
'start_date': request.args.get('start_date'),
'end_date': request.args.get('end_date'),
'page': request.args.get('page', 1),
'limit': request.args.get('limit', 20)
}
# logger.info(f"Get repayments request received with filters: {filters}")
response = RepaymentService.get_all_repayments(filters)
return jsonify(response)
@api.route('/loan-charges', methods=['GET'])
# @token_required
def get_all_loan_charges():
# Extract query parameters for filtering
filters = {
'loan_id': request.args.get('loan_id'),
'code': request.args.get('code'),
'start_date': request.args.get('start_date'),
'end_date': request.args.get('end_date'),
'due_before': request.args.get('due_before'),
'due_after': request.args.get('due_after'),
'page': request.args.get('page', 1),
'limit': request.args.get('limit', 20)
}
# logger.info(f"Get loan charges request received with filters: {filters}")
response = LoanChargeService.get_all_loan_charges(filters)
return jsonify(response)