from dotenv import dotenv_values

env = dotenv_values(".env")

host = env['HOST']
port = env['PORT']

php_path = 'static/php/'

# app secret key
SECRET_KEY = env['SECRET_KEY']

# hashing secret key
HASH_KEY = env['HASH_KEY']

# set basic auth routes
BASIC_AUTH_ROUTES = ['/api/get-soft-bureau-response', '/api/get-bureau-response', '/api/get-credit-response']
JWT_AUTH_ROUTES = ['/api/get-bureau-response', '/api/get-soft-bureau-response']

# Middleware basic auth credentials
PIGGY_CLIENT_ID = env['PIGGY_CLIENT_ID']
PIGGY_CLIENT_SECRET = env['PIGGY_CLIENT_SECRET']

JUSPAY_CLIENT_ID = env['JUSPAY_CLIENT_ID']
JUSPAY_CLIENT_SECRET = env['JUSPAY_CLIENT_SECRET']

CAREPAY_CLIENT_ID = env['CAREPAY_CLIENT_ID']
CAREPAY_CLIENT_SECRET = env['CAREPAY_CLIENT_SECRET']

CF_CLIENT_ID = env['CF_CLIENT_ID']
CF_CLIENT_SECRET = env['CF_CLIENT_SECRET']

# S3 details
AWS_ACCESS_KEY_ID = env['AWS_ACCESS_KEY_ID']
AWS_SECRET_ACCESS_KEY = env['AWS_SECRET_ACCESS_KEY']
AWS_REGION_NAME = env['AWS_REGION_NAME']
AWS_BUCKET = env['AWS_BUCKET']

# Cloudwatch
CLOUDWATCH_GROUP = env['CLOUDWATCH_GROUP']
CLOUDWATCH_SECRET_KEY = env['CLOUDWATCH_SECRET_KEY']
CLOUDWATCH_ACCESS_KEY = env['CLOUDWATCH_ACCESS_KEY']

# Decentro details
DECENTRO_PAN_URL = env['DECENTRO_PAN_URL']
DECENTRO_CLIENT_ID = env['DECENTRO_CLIENT_ID']
DECENTRO_CLIENT_SECRET = env['DECENTRO_CLIENT_SECRET']
DECENTRO_MODULE_SECRET = env['DECENTRO_MODULE_SECRET']

# EQUIFAX
EQUIFAX_URL = env['EQUIFAX_URL']
EQUIFAX_USER = env['EQUIFAX_USER']
EQUIFAX_PASS = env['EQUIFAX_PASS']

# EXPERIAN
EXPERIAN_URL = env['EXPERIAN_URL']
EXPERIAN_USER = env['EXPERIAN_USER']
EXPERIAN_PASS = env['EXPERIAN_PASS']
EXPERIAN_KEY = env['EXPERIAN_KEY']
EXPERIAN_SOFT_PULL_URL = env['EXPERIAN_SOFT_PULL_URL']
EXPERIAN_SOFT_PULL_USER = env['EXPERIAN_SOFT_PULL_USER']
EXPERIAN_SOFT_PULL_PASS = env['EXPERIAN_SOFT_PULL_PASS']

CustomerId = env['CustomerId']
MemberNumber = env['MemberNumber']
SecurityCode = env['SecurityCode']
ProductCode = env['ProductCode']
ProductVersion = ['ProductVersion']
ReportFormat = env['ReportFormat']
FinancePurpose = env['FinancePurpose']
Purpose = env['Purpose']
InquiryReason = env['InquiryReason']
Score = env['Score']
Consent = env['Consent']

# Database details
DATABASES = {
    "default": {
        "HOST": env['DB_HOST'],
        "PASSWORD": env['DB_PASSWORD'],
        "PORT": env['DB_PORT'],
        "NAME": env['DB_NAME'],
        "USER": env['DB_USER'],
        "MAX_CONNECTION_POOL": "5",
    }
}

DATABASES_LOC = {
    "default": {
        "HOST": env['DB_HOST_LOC'],
        "PASSWORD": env['DB_PASSWORD_LOC'],
        "PORT": env['DB_PORT'],
        "NAME": env['DB_NAME_LOC'],
        "USER": env['DB_USER_LOC'],
        "MAX_CONNECTION_POOL": "5",
    }
}

# CORS Origin
ORIGINS = ["http://127.0.0.1:3000", "http://localhost:3000", "https://deployment.d1g73iuyh860r3.amplifyapp.com/",
           "https://checkout-uat.creditfair.in", "https://checkout.creditfair.in", "https://one.creditfair.in"]

# DPD dictionary
PaymentStatusDict = {
    "N": "0",
    "?": "0",
    "0": "1+",  # 0-29
    "1": "30+",  # 30-59
    "2": "60+",  # 60-89
    "3": "90+",  # 90-119
    "4": "120+",  # 120-149
    "5": "150+",  # 150-179
    "6": "180+",  # 180 or more
    "S": "STD",  # Asset Classification is Standard
    "B": "SUB",  # Asset Classification is Substandard
    "D": "DBT",  # Asset Classification is Doubtful
    "M": "SMA",  # Asset Classification is Special Mention Account
    "L": "LOSS",  # Asset Classification is  Loss
}

AccountTypeDict = {
    '1': "Auto Loan",
    '01': "Auto Loan",
    '2': "Housing Loan",
    '02': "Housing Loan",
    '3': "Property Loan",
    '03': "Property Loan",
    '4': "LOAN AGAINST SHARES/SECURITIES",
    '04': "LOAN AGAINST SHARES/SECURITIES",
    '5': "Personal Loan",
    '05': "Personal Loan",
    '6': "Consumer Loan",
    '06': "Consumer Loan",
    '7': "Gold Loan",
    '07': "Gold Loan",
    '8': "EDUCATIONAL LOAN",
    '08': "EDUCATIONAL LOAN",
    '9': "LOAN TO PROFESSIONAL",
    '09': "LOAN TO PROFESSIONAL",
    '10': "Credit Card",
    '11': "LEASING",
    '12': "OVERDRAFT",
    '13': "TWO-WHEELER LOAN",
    '14': "NON-FUNDED CREDIT FACILITY",
    '15': "LOAN AGAINST BANK DEPOSITS",
    '16': "FLEET CARD",
    '17': "Commercial Vehicle Loan",
    '18': "Telco – Wireless",
    '19': "Telco – Broadband",
    '20': "Telco – Landline",
    '23': "GECL Secured",
    '24': "GECL Unsecured",
    '31': "Secured Credit Card",
    '32': "Used Car Loan",
    '33': "Construction Equipment Loan",
    '34': "Tractor Loan",
    '35': "Corporate Credit Card",
    '36': "Kisan Credit Card",
    '37': "Loan on Credit Card",
    '38': "Prime Minister Jaan Dhan Yojana - Overdraft",
    '39': "Mudra Loans – Shishu / Kishor / Tarun",
    '40': "Microfinance – Business Loan",
    '41': "Microfinance – Personal Loan",
    '42': "Microfinance – Housing Loan",
    '43': "Microfinance – Others",
    '44': "Pradhan Mantri Awas Yojana - Credit Link Subsidy Scheme MAY CLSS",
    '45': "P2P Personal Loan",
    '46': "P2P Auto Loan",
    '47': "P2P Education Loan",
    '51': "BUSINESS LOAN – GENERAL",
    '52': "BUSINESS LOAN –PRIORITY SECTOR – SMALL BUSINESS",
    '53': "BUSINESS LOAN –PRIORITY SECTOR – AGRICULTURE",
    '54': "BUSINESS LOAN –PRIORITY SECTOR – OTHERS",
    '55': "BUSINESS NON-FUNDED CREDIT FACILITY – GENERAL",
    '56': "BUSINESS NON-FUNDED CREDIT FACILITY – PRIORITY SECTOR – SMALL BUSINESS",
    '57': "BUSINESS NON-FUNDED CREDIT FACILITY – PRIORITY SECTOR – AGRICULTURE",
    '58': "BUSINESS NON-FUNDED CREDIT FACILITY – PRIORITY SECTOR – OTHERS",
    '59': "BUSINESS LOANS AGAINST BANK DEPOSITS",
    '60': "Staff Loan",
    '61': "Business Loan - Unsecured",
    '00': "Others",
    '50': "Business Loan - Secured",
    '69': "Short Term Personal Loan [Unsecured]",
    '70': "Priority Sector Gold Loan [Secured]",
    '71': "Temporary Overdraft [Unsecured]"
}

OwnershipDict = {
    '1': "Individual",
    '2': "Joint",
    '3': "Authorized User",
    '7': "Guarantor",
    '20': "Deceased",
}
