[add]: Swagger Documentation
This commit is contained in:
@@ -0,0 +1 @@
|
||||
from .routes import api
|
||||
@@ -0,0 +1,134 @@
|
||||
from flask import Flask, Blueprint, request, jsonify, send_from_directory
|
||||
import os
|
||||
from app.api.services import (
|
||||
RACCheckService,
|
||||
DisbursementService,
|
||||
CollectLoanService,
|
||||
TransactionVerifyService,
|
||||
PenalChargeService,
|
||||
RevokeEnableConsentService,
|
||||
TokenValidationService,
|
||||
LienCheckService,
|
||||
NewTransactionCheckService,
|
||||
)
|
||||
from app.utils.logger import logger
|
||||
from app.api.middlewares import require_api_key, require_app_id, enforce_json
|
||||
|
||||
|
||||
api = Blueprint("api", __name__)
|
||||
|
||||
|
||||
# Enforce json
|
||||
@api.before_request
|
||||
def cors_middleware():
|
||||
"""Middleware applied globally to all API routes in this blueprint"""
|
||||
return enforce_json()
|
||||
|
||||
|
||||
# Swagger JSON file
|
||||
@api.route("/swagger.json", methods=['GET'])
|
||||
def swagger_json():
|
||||
swagger_dir = os.path.join("swagger")
|
||||
return send_from_directory(swagger_dir, "digifi_swagger.json")
|
||||
|
||||
|
||||
@api.route('/swagger/<path:filename>')
|
||||
def serve_paths(filename):
|
||||
swagger_dir = os.path.join("swagger")
|
||||
return send_from_directory(swagger_dir, filename)
|
||||
|
||||
# RACCheck Endpoint
|
||||
@api.route('/RACCheck', methods=['POST'])
|
||||
@require_api_key
|
||||
@require_app_id
|
||||
def rac_check():
|
||||
data = request.get_json()
|
||||
# logger.info(f"RACCheck request received: {data}")
|
||||
response = RACCheckService.process_request(data)
|
||||
return response
|
||||
|
||||
# Disbursement Endpoint
|
||||
@api.route('/Disbursement', methods=['POST'])
|
||||
@require_api_key
|
||||
@require_app_id
|
||||
def disbursement():
|
||||
|
||||
data = request.get_json()
|
||||
# logger.info(f"Disbursement request received: {data}")
|
||||
response = DisbursementService.process_request(data)
|
||||
return response
|
||||
|
||||
# CollectLoan Endpoint
|
||||
@api.route('/CollectLoan', methods=['POST'])
|
||||
@require_api_key
|
||||
@require_app_id
|
||||
def collect_loan():
|
||||
data = request.get_json()
|
||||
# logger.info(f"CollectLoan request received: {data}")
|
||||
response = CollectLoanService.process_request(data)
|
||||
return response
|
||||
|
||||
# TransactionVerify Endpoint
|
||||
@api.route('/TransactionVerify', methods=['POST'])
|
||||
@require_api_key
|
||||
@require_app_id
|
||||
def transaction_verify():
|
||||
data = request.get_json()
|
||||
# logger.info(f"TransactionVerify request received: {data}")
|
||||
response = TransactionVerifyService.process_request(data)
|
||||
return response
|
||||
|
||||
# PenalCharge Endpoint
|
||||
@api.route('/PenalCharge', methods=['POST'])
|
||||
@require_api_key
|
||||
@require_app_id
|
||||
def penal_charge():
|
||||
data = request.get_json()
|
||||
# logger.info(f"PenalCharge request received: {data}")
|
||||
response = PenalChargeService.process_request(data)
|
||||
return response
|
||||
|
||||
# RevokeEnableConsent Endpoint
|
||||
@api.route('/RevokeEnableConsent', methods=['POST'])
|
||||
@require_api_key
|
||||
@require_app_id
|
||||
def revoke_enable_consent():
|
||||
data = request.get_json()
|
||||
# logger.info(f"RevokeEnableConsent request received: {data}")
|
||||
response = RevokeEnableConsentService.process_request(data)
|
||||
return response
|
||||
|
||||
# TokenValidation Endpoint
|
||||
@api.route('/TokenValidation', methods=['POST'])
|
||||
@require_api_key
|
||||
@require_app_id
|
||||
def token_validation():
|
||||
data = request.get_json()
|
||||
# logger.info(f"TokenValidation request received: {data}")
|
||||
response = TokenValidationService.process_request(data)
|
||||
return response
|
||||
|
||||
# LienCheck Endpoint
|
||||
@api.route('/LienCheck', methods=['POST'])
|
||||
@require_api_key
|
||||
@require_app_id
|
||||
def lien_check():
|
||||
data = request.get_json()
|
||||
# logger.info(f"LienCheck request received: {data}")
|
||||
response = LienCheckService.process_request(data)
|
||||
return response
|
||||
|
||||
# NewTransactionCheck Endpoint
|
||||
@api.route('/NewTransactionCheck', methods=['POST'])
|
||||
@require_api_key
|
||||
@require_app_id
|
||||
def new_transaction_check():
|
||||
data = request.get_json()
|
||||
# logger.info(f"NewTransactionCheck request received: {data}")
|
||||
response = NewTransactionCheckService.process_request(data)
|
||||
return response
|
||||
|
||||
# Health Check Endpoint
|
||||
@api.route('/health', methods=['GET'])
|
||||
def health_check():
|
||||
return {"status": "ok"} , 200
|
||||
Reference in New Issue
Block a user