This commit is contained in:
Azeez Muibi
2025-04-28 08:40:14 +01:00
parent 0052340843
commit 75e9a96ba3
11 changed files with 529 additions and 44 deletions
+22 -3
View File
@@ -1,6 +1,7 @@
from flask import Blueprint, request, jsonify, send_from_directory
from flask import Blueprint, request, jsonify
from app.api.services import LoanRepaymentScheduleService
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
@@ -98,18 +99,19 @@ def get_dashboard():
result = DashboardService.get_dashboard_data()
return jsonify(result)
@api.route('/loans', methods=['GET'])
# @token_required
def get_loans():
# Extract query parameters for filtering
filters = {
'id': request.args.get('id'),
'customer_id': request.args.get('customer_id'),
'account_id': request.args.get('account_id'),
'status': request.args.get('status'),
'offer_id': request.args.get('offer_id'),
'product_id': request.args.get('product_id'),
'transaction_id': request.args.get('transaction_id'),
'original_transaction': request.args.get('original_transaction'),
'start_date': request.args.get('start_date'),
'end_date': request.args.get('end_date'),
'due_before': request.args.get('due_before'),
@@ -121,7 +123,6 @@ def get_loans():
response = LoanService.process_request(filters)
return response
@api.route('/transactions', methods=['GET'])
# @token_required
def get_transactions():
@@ -172,4 +173,22 @@ def get_all_loan_charges():
}
# logger.info(f"Get loan charges request received with filters: {filters}")
response = LoanChargeService.get_all_loan_charges(filters)
return jsonify(response)
@api.route('/repayment-schedules', methods=['GET'])
# @token_required
def get_all_repayment_schedules():
# Extract query parameters for filtering
filters = {
'loan_id': request.args.get('loan_id'),
'product_id': request.args.get('product_id'),
'paid': request.args.get('paid'),
'due_before': request.args.get('due_before'),
'due_after': request.args.get('due_after'),
'installment_number': request.args.get('installment_number'),
'page': request.args.get('page', 1),
'limit': request.args.get('limit', 20)
}
# logger.info(f"Get repayment schedules request received with filters: {filters}")
response = LoanRepaymentScheduleService.get_all_repayment_schedules(filters)
return jsonify(response)