forked from DigiFi/digifi-BankToProductCore
114 lines
4.7 KiB
Python
114 lines
4.7 KiB
Python
import os
|
|
from datetime import timedelta
|
|
|
|
class Config:
|
|
"""Base configuration for Flask app"""
|
|
|
|
SWAGGER_URL = os.getenv("SWAGGER_URL", "/documentation")
|
|
API_URL = os.getenv("API_URL", "/swagger.json")
|
|
|
|
DEBUG = True
|
|
BASIC_AUTH_USERNAME = os.environ.get("BASIC_AUTH_USERNAME", "user")
|
|
BASIC_AUTH_PASSWORD = os.environ.get("BASIC_AUTH_PASSWORD", "password")
|
|
|
|
# Database Configuration
|
|
DATABASE_USER = os.environ.get("DATABASE_USER")
|
|
DATABASE_PASSWORD = os.environ.get("DATABASE_PASSWORD")
|
|
DATABASE_HOST = os.environ.get("DATABASE_HOST")
|
|
DATABASE_PORT = os.environ.get("DATABASE_PORT", 10532)
|
|
DATABASE_NAME = os.environ.get("DATABASE_NAME", "firstadvancedev")
|
|
DATABASE_SID = os.environ.get("DATABASE_SID", "FREE")
|
|
DNS = f"(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST={DATABASE_HOST})(PORT={DATABASE_PORT}))(CONNECT_DATA=(SID={DATABASE_SID})))"
|
|
|
|
|
|
# Database Connection
|
|
# SQLALCHEMY_DATABASE_URI = f"postgresql+psycopg2://{DATABASE_USER}:{DATABASE_PASSWORD}@{DATABASE_HOST}:{DATABASE_PORT}/{DATABASE_NAME}"
|
|
|
|
SQLALCHEMY_DATABASE_URI_INTERNAL = (f"oracle+oracledb://{DATABASE_USER}:{DATABASE_PASSWORD}@{DNS}")
|
|
SQLALCHEMY_DATABASE_URI = os.getenv("SQLALCHEMY_DATABASE_URI_FULL", SQLALCHEMY_DATABASE_URI_INTERNAL)
|
|
|
|
#SQLALCHEMY_DATABASE_URI_FULL = 'oracle+oracledb://FIRSTADVSTG:Pchanged_56789@10.2.110.30:1521/?service_name=firstadv'
|
|
|
|
SQLALCHEMY_TRACK_MODIFICATIONS = False
|
|
|
|
|
|
JWT_SECRET_KEY = os.getenv("JWT_SECRET_KEY", "secret-key")
|
|
JWT_ACCESS_TOKEN_EXPIRES = os.getenv("JWT_ACCESS_TOKEN_EXPIRES", timedelta(hours=1))
|
|
JWT_REFRESH_TOKEN_EXPIRES = os.getenv(
|
|
"JWT_REFRESH_TOKEN_EXPIRES", timedelta(days=30)
|
|
)
|
|
|
|
# KAFKA_BROKER = 'dev-events.simbrellang.net:9085'
|
|
KAFKA_BROKER = os.getenv("KAFKA_BROKER", "dev-events.simbrellang.net:9085")
|
|
|
|
# SIMBRELLA_ENDPOINT_RAC_CHECKS = os.getenv("SIMBRELLA_ENDPOINT_RAC_CHECKS", "RACCheck")
|
|
VALID_APP_ID = os.getenv("SIMBRELLA_APP_ID", "app1")
|
|
VALID_API_KEY = os.getenv("SIMBRELLA_API_KEY", "test-api-key-12345")
|
|
SIMBRELLA_BASE_URL = os.getenv("SIMBRELLA_BASE_URL", "http://127.0.0.1:6337")
|
|
SIMBRELLA_ENDPOINT_RAC_CHECKS = os.getenv("SIMBRELLA_ENDPOINT_RAC_CHECKS","api/rac-check")
|
|
SIMBRELLA_HEALTH = os.getenv("SIMBRELLA_ENDPOINT_RAC_CHECKS","api/system-health-check")
|
|
BANK_CALL_AUTH_ENDPOINT = os.getenv("BANK_CALL_AUTH_ENDPOINT", "/api/Auth/generate-token")
|
|
BANK_CALL_USERNAME = os.getenv("BANK_CALL_USERNAME", "simbrella")
|
|
BANK_CALL_PASSWORD = os.getenv("BANK_CALL_PASSWORD", "G7$k9@pL2!qR")
|
|
|
|
|
|
|
|
EVENTS_SERVICE_BASE_URL = os.getenv("EVENTS_SERVICE_BASE_URL","https://event-core.simbrellang.net")
|
|
ENDPOINT_DIRECT_LOAN = os.getenv("ENDPOINT_DIRECT_LOAN","/autocall/direct/loan")
|
|
ENDPOINT_DIRECT_REPAYMENT = os.getenv("ENDPOINT_DIRECT_REPAYMENT","/autocall/direct/repayment")
|
|
|
|
|
|
RAC_RESULT_accountStatus = os.environ.get("RAC_RESULT_accountStatus", "true")
|
|
RAC_RESULT_bvnValidated = os.environ.get("RAC_RESULT_bvnValidated", "true")
|
|
RAC_RESULT_creditBureauCheck = os.environ.get("RAC_RESULT_creditBureauCheck", "false")
|
|
RAC_RESULT_crmsCheck = os.environ.get("RAC_RESULT_crmsCheck", "true")
|
|
RAC_RESULT_hasLien = os.environ.get("RAC_RESULT_hasLien", "false")
|
|
RAC_RESULT_hasPastDueLoan = os.environ.get("RAC_RESULT_hasPastDueLoan", "false")
|
|
RAC_RESULT_hasSalaryAccount = os.environ.get("RAC_RESULT_hasSalaryAccount", "true")
|
|
RAC_RESULT_isWhitelisted = os.environ.get("RAC_RESULT_isWhitelisted", "true")
|
|
RAC_RESULT_noBouncedCheck = os.environ.get("RAC_RESULT_noBouncedCheck", "true")
|
|
|
|
rac_true_rules = [
|
|
"rule1_45day_sal",
|
|
"rule2_2m_sal",
|
|
"rule3_no_bounced_check",
|
|
"rule4_current_loan_payments",
|
|
"rule5_no_past_due_fadv_loan",
|
|
"rule6_no_past_due_other_loan",
|
|
"rule7_consistent_salary_amount",
|
|
"rule8_whitelisted",
|
|
"rule9_regular_account",
|
|
"rule10_bvn_validation",
|
|
"rule11_CRC_no_delinquency",
|
|
"rule12_CRMS_no_delinquency",
|
|
"rule13_BVN_ignore",
|
|
"rule14_no_lien",
|
|
"rule15_null_ignore"
|
|
]
|
|
|
|
rac_false_rules = [
|
|
|
|
]
|
|
|
|
rac_salary_payments = [
|
|
"salarypaymenT_1",
|
|
"salarypaymenT_2",
|
|
"salarypaymenT_3",
|
|
"salarypaymenT_4",
|
|
"salarypaymenT_5",
|
|
"salarypaymenT_6"
|
|
]
|
|
|
|
MAIL_SERVER = os.getenv('MAIL_SERVER','smtp.zoho.com')
|
|
MAIL_PORT = 587
|
|
MAIL_USERNAME = os.getenv('MAIL_USERNAME', 'firstadvance@dynamikservices.tech')
|
|
MAIL_PASSWORD = os.getenv('MAIL_PASSWORD')
|
|
MAIL_USE_TLS = True
|
|
MAIL_USE_SSL = False
|
|
MAIL_DEFAULT_SENDER = ('FirstAdvance', 'firstadvance@dynamikservices.tech')
|
|
MAIL_RECEIVER= os.getenv('MAIL_RECEIVER', 'vdagbue@gmail.com')
|
|
|
|
|
|
|
|
settings = Config()
|