Files
MermsCoreFlask/app/api/routes/routes.py
T
CHIEFSOFT\ameye 4e9d500337 rset [pass
2025-07-12 00:19:58 -04:00

285 lines
7.9 KiB
Python

from flask import Blueprint, request, jsonify, send_from_directory
from app.api.services import (
LoginService,
RegisterService,
AccountService,
ProductsService,
EligibilityCheckService,
SelectOfferService,
ProvideLoanService,
LoanStatusService,
RepaymentService,
CustomerConsentService,
NotificationCallbackService,
AuthorizationService,
MyProductsService,
ContactService,
)
from app.utils.logger import logger
from app.api.middlewares import enforce_json, require_auth
import os
from flask_jwt_extended import (
JWTManager,
jwt_required,
create_access_token,
get_jwt_identity,
create_refresh_token,
)
api = Blueprint("api", __name__)
@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, "merms_swagger.json")
@api.route("/swagger/<path:filename>")
def serve_paths(filename):
swagger_dir = os.path.join("swagger")
return send_from_directory(swagger_dir, filename)
@api.route("/panel/auth/reset", methods=["POST"])
@jwt_required()
def merms_reset():
data = request.get_json()
response = LoginService.process_reset(data)
return response
@api.route("/panel/Login", methods=["POST"])
@jwt_required()
def merms_login():
data = request.get_json()
response = LoginService.process_request(data)
return response
@api.route("/panel/Register", methods=["POST"])
@jwt_required()
def merms_register():
data = request.get_json()
response = RegisterService.process_request(data)
return response
#/panel/Register/verify
@api.route("/panel/Register/verify", methods=["POST"])
@jwt_required()
def merms_register_verify():
data = request.get_json()
response = RegisterService.process_verify(data)
return response
@api.route("/panel/Register/complete", methods=["POST"])
@jwt_required()
def merms_register_complete():
data = request.get_json()
response = RegisterService.process_complete(data)
return response
@api.route("/panel/account", methods=["POST"])
@jwt_required()
def merms_account():
data = request.get_json()
response = AccountService.process_request(data)
return response
@api.route("/panel/account-bar", methods=["POST"])
@jwt_required()
def merms_account_bar():
data = request.get_json()
response = AccountService.process_bar_request(data)
return response
@api.route("/panel/account/bar", methods=["POST"])
@jwt_required()
def merms_account_bar2():
data = request.get_json()
response = AccountService.process_bar_request(data)
return response
@api.route("/panel/account/actions", methods=["POST"])
@jwt_required()
def merms_account_actions():
data = request.get_json()
response = AccountService.process_action_request(data)
return response
@api.route("/panel/account/productsurl", methods=["POST"])
@jwt_required()
def merms_account_product_url():
data = request.get_json()
response = ProductsService.product_url_request(data)
return response
@api.route("/panel/account/products/url", methods=["POST"])
def myproduct_url():
data = request.get_json()
logger.info(f"Route Product URL Data ==>>>> {data}")
response = ProductsService.product_url_request(data)
return response
#
@api.route("/panel/contacts", methods=["POST"])
def merms_contacts():
data = request.get_json()
logger.info(f"Route ContactService URL Data ==>>>> {data}")
response = ContactService.process_request(data)
return response
@api.route("/panel/account/products", methods=["POST"])
@jwt_required()
def merms_products():
data = request.get_json()
response = ProductsService.process_request(data)
return response
@api.route("/panel/myproduct/dash", methods=["POST"])
def myproduct_dash():
data = request.get_json()
logger.info(f"Route MyProduct Data ==>>>> {data}")
response = MyProductsService.process_request(data)
return response
# /panel/myproduct/subscription
@api.route("/panel/myproduct/subscription", methods=["POST"])
def myproduct_subscription():
data = request.get_json()
logger.info(f"Route MyProduct Data ==>>>> {data}")
response = MyProductsService.process_subscription(data)
return response
#/panel/myproduct/provision
@api.route("/panel/myproduct/provision", methods=["POST"])
def myproduct_provision():
data = request.get_json()
logger.info(f"Route MyProduct Data ==>>>> {data}")
response = MyProductsService.process_provision(data)
return response
# /panel/account/calendar
@api.route("/panel/account/calendar", methods=["POST"])
def mycalendar_dash():
data = request.get_json()
logger.info(f"Route Calendar Data ==>>>> {data}")
response = AccountService.process_calendar(data)
return response
# Health Check Endpoint
@api.route("/test", methods=["GET"])
def test_check():
data = {"uid": "ok", "token":"jjjfjfjfjfjjf"}
logger.info(f"Member Actions Error: {action_data}")
response = AccountService.process_action_request(data)
#response = ProductsService.process_request(data)
return {"status": "ok"}, 200
# # EligibilityCheck Endpoint
# @api.route("/EligibilityCheck", methods=["POST"])
# @jwt_required()
# def eligibility_check():
# data = request.get_json()
# # logger.info(f"EligibilityCheck request received: {data}")
# response = EligibilityCheckService.process_request(data)
# return response
#
# # SelectOffer Endpoint
# @api.route("/SelectOffer", methods=["POST"])
# @jwt_required()
# def select_offer():
# data = request.get_json()
# # logger.info(f"SelectOffer request received: {data}")
# response = SelectOfferService.process_request(data)
# return response
#
#
# # ProvideLoan Endpoint
# @api.route("/ProvideLoan", methods=["POST"])
# @jwt_required()
# def provide_loan():
# data = request.get_json()
# # logger.info(f"ProvideLoan request received: {data}")
# response = ProvideLoanService.process_request(data)
# return response
#
#
# # LoanStatus Endpoint
# @api.route("/LoanStatus", methods=["POST"])
# @jwt_required()
# def loan_status():
# data = request.get_json()
# # logger.info(f"LoanStatus request received: {data}")
# response = LoanStatusService.process_request(data)
# return response
#
#
# # Repayment Endpoint
# @api.route("/Repayment", methods=["POST"])
# @jwt_required()
# def repayment():
# data = request.get_json()
# logger.error(f"HERE 0000a **** ")
# # logger.info(f"Repayment request received: {data}")
# response = RepaymentService.process_request(data)
# return response
#
#
# # CustomerConsent Endpoint
# @api.route("/CustomerConsent", methods=["POST"])
# @jwt_required()
# def customer_consent():
# data = request.get_json()
# # logger.info(f"CustomerConsent request received: {data}")
# response = CustomerConsentService.process_request(data)
# return response
#
#
# # NotificationCallback Endpoint
# @api.route("/NotificationCallback", methods=["POST"])
# @jwt_required()
# def notification_callback():
# data = request.get_json()
# # logger.info(f"NotificationCallback request received: {data}")
# response = NotificationCallbackService.process_request(data)
# return response
# Health Check Endpoint
@api.route("/health", methods=["GET"])
def health_check():
return {"status": "ok"}, 200
# Authorize endpoint
@api.route("/Authorize", methods=["POST"])
def authorize():
data = request.get_json()
# logger.info(f"Authorize request received: {data}")
response = AuthorizationService.process_request(data)
return response
# Authorize refresh endpoint
@api.route("/AuthorizeRefresh", methods=["POST"])
@jwt_required(refresh=True)
def refresh():
data = request.get_json()
# logger.info(f"Authorize refresh request received: {data}")
response = AuthorizationService.process_refresh_request()
return response