from dotenv import load_dotenv
import os

load_dotenv()

host = os.environ.get('HOST')
port = os.environ.get('PORT')

php_path = '../python-core/static/php/'

# Cors origin
domain = ["http://127.0.0.1:8000", "https://checkoutuat.creditfair.in", "http://localhost:3000", "https://preprod.creditfair.in",
          "https://checkout.creditfair.in", "https://test10.creditfair.in", "https://creditfair.in", "https://test1.creditfair.in", "https://test8.creditfair.in",
          "https://cf-demoappbb.web.app", "https://solar.creditfair.in", "https://test4.creditfair.in", "https://solar-uat.creditfair.in"]

# app secret key
SECRET_KEY = os.environ.get('SECRET_KEY')

# hashing secret key
HASH_KEY = os.environ.get('HASH_KEY')

# set basic auth routes
BASIC_AUTH_ROUTES = ['/api/create-customer', '/api/product-list',
                     '/api/merchant-location-list', '/api/upload-document', '/api/customer-details',
                     '/api/cancellation-request',
                     '/api/get-status', '/api/digio_vkyc', '/api/digio_generate_token']

JWT_AUTH_ROUTES = ['/api/create-customer', '/api/product-list',
                   '/api/merchant-location-list',
                   '/api/upload-document', '/api/customer-details',
                   '/api/cancellation-request', '/api/get-status', '/api/digio_vkyc', '/api/digio_generate_token']

# Middleware basic auth credentials
CLIENT_ID = os.environ.get('PIGGY_CLIENT_ID')
CLIENT_SECRET = os.environ.get('PIGGY_CLIENT_SECRET')

CF_ENDPOINT = os.environ.get('CF_ENDPOINT')
EMI_CHECKOUT_BE_ENDPOINT = os.environ.get("EMI_CHECKOUT_BE_ENDPOINT")

# S3 details
AWS_ACCESS_KEY_ID = os.environ.get('AWS_ACCESS_KEY_ID')
AWS_SECRET_ACCESS_KEY = os.environ.get('AWS_SECRET_ACCESS_KEY')
AWS_REGION_NAME = os.environ.get('AWS_REGION_NAME')
AWS_BUCKET = os.environ.get('AWS_BUCKET')

# Cloudwatch
CLOUDWATCH_GROUP = os.environ.get('CLOUDWATCH_GROUP')
CLOUDWATCH_STREAM = os.environ.get('CLOUDWATCH_STREAM')
CLOUDWATCH_SECRET_KEY = os.environ.get('CLOUDWATCH_SECRET_KEY')
CLOUDWATCH_ACCESS_KEY = os.environ.get('CLOUDWATCH_ACCESS_KEY')

# Logging
LOG_HANDLER = os.environ.get('LOG_HANDLER')
LOG_PATH = os.environ.get('LOG_PATH')
LEVEL = os.environ.get('LOG_LEVEL')


# Mailgun
MAILGUN_DOMAIN = os.environ.get('MAILGUN_DOMAIN')
MAILGUN_SECRET = os.environ.get('MAILGUN_SECRET')
MAIL_USERNAME = os.environ.get('MAIL_USERNAME')
MAIL_MESSAGE = os.environ.get('MAIL_MESSAGE')

DOC_PATH = {
    'PAN': 'pan_card',
    'SECURITY_CHEQUE': 'security_cheques',
    'APPLICANT_PHOTO': 'customer_photo',
    'APPLICANT_AADHAAR_FRONT': 'aadhar_card',
    'APPLICANT_AADHAAR_BACK': 'aadhar_card_back',
    'ELECTRICITY_BILL': 'electricity_bill',
    'GAS_BILL': 'gas_bill',
    'PASSPORT': 'passport',
    'BANK_STATEMENT': 'bank_statement',
    'BANK_STATEMENT_2': 'bank_statement_2',
    'BANK_STATEMENT_3': 'bank_statement_3',
    'BANK_STATEMENT_4': 'bank_statement_4',
    'BANK_STATEMENT_5': 'bank_statement_5',
    'BANK_STATEMENT_6': 'bank_statement_6',
    'SALARY_SLIP': 'salary_slip',
    'ITR': 'itr',
    'MCA': 'mca',
    'UTILITY_BILL_VALIDATION': 'utilitybillvalidation',
    'CPV': 'cpv',
    'RENT_AGREEMENT': 'rent_agreement',
    'SALE_DEED': 'sale_deed',
    'SHOP_ACT': 'shop_act',
    'GST_CERTIFICATE': 'gst_certificate',
    'CO_APPLICANT_BANK_STATEMENT': 'co_applicant_bank_statement',
    'CO_APPLICANT_PAN': 'co_applicant_pan_card',
    'CO_APPLICANT_AADHAAR_FRONT': 'co_applicant_aadhar_card',
    'CO_APPLICANT_AADHAAR_BACK': 'co_applicant_aadhar_card_back',
    'CO_APPLICANT_PHOTO': 'co_applicant_customer_photo',
    'PASSBOOK': 'passbook_copy',
    'OTH': 'other',
    'PASSPORT_FRONT': 'passport_front',
    'PASSPORT_BACK': 'passport_back',
    'DRIVING_LICENSE': 'driving_license',
    'VOTAR_ID_FRONT': 'votar_id_front',
    'VOTAR_ID_BACK': 'votar_id_back',
    'SELFIE': 'selfie',
    'LOAN_AGREEMENT_ESIGN': 'loan_agreement_esign',
    'AADHAR_CARD': 'aadhar_card',
    'AADHAR_ZIP': 'aadhar_zip',
    'AADHAR_XML': 'aadhar_xml',
    'EPF_REPORT_KARZA': 'epf report karza',
    'EPF_REPORT': 'epf report',
    'UDYOG_AADHAR_CERTIFICATE': 'udyog_aadhar_certificate',
    'FORM_16': 'form_16',
    'STATEMENT_OF_ACCOUNT': 'statement_of_account',
    'EMI_DEDUCTION_BANK_STATEMENT': 'emi_deduction_bank_statement',
    'PROPERTY_TAX_INVOICE': 'property_tax_invoice',
    'PROPERTY_OWNERSHIP_PROOF':'property_ownership_proof',
    'INVOICE':'invoice',
    'NET_METERING_AGREEMENT':'net_metering_agreement',
    'DCR_CERTIFICATE':'dcr_certificate',
    'UDYAM': 'udyam',
    'SECONDARY_BUSINESS_PROOF': 'secondary_business_proof',
    'VIDEO_PD': 'video_pd',
    'BANKING': 'banking',
    'BUSINESS_FI': 'business_fi',
    'PERFIOS_BSA': 'perfios_bsa',
    'PARTNERSHIP_DEED': 'partnership_deed',
    'REGISTRATION_PROOF': 'registration_proof',
    'GST_DOC': 'gst_doc',
    'VKYC_REPORT': 'vkyc_report',
    'COMBINED_AGREEMENT': 'combined_agreement'
}

DOC_FORMAT = ['jpg', 'gif', 'mp4', 'jpeg', 'png', 'bmp', 'tif', 'tiff', 'xlsx', 'xls', 'pdf', 'txt', 'odt', 'xml', 'zip']

# Database details
DATABASES = {
    "default": {
        "HOST": os.environ.get('MYSQL_HOST'),
        "PASSWORD": os.environ.get('MYSQL_PASSWORD'),
        "PORT": os.environ.get('MYSQL_PORT'),
        "NAME": os.environ.get('MYSQL_DB'),
        "USER": os.environ.get('MYSQL_USER'),
        "MAX_CONNECTION_POOL": "5",
    }
}

KARZA_ELECTRICTY_PROVIDER = {
    "Southern Power Distribution Company of Andhra Pradesh Limited": "APSPDCL",
    "Eastern Power Distribution Company of Andhra Pradesh Limited": "APEPDCL",
    "Assam Power Distribution Company Limited": "APDCL ",
    "North Bihar Power Distribution Company Limited": "NBPDCL",
    "South Bihar Power Distribution Company Limited": "SBPDCL",
    "Calcutta Electric Supply Corporation Limited": "CESC",
    "Chandigarh Electricity Department": "CH_ELEC",
    "Chhattisgarh State Power Distribution Company Limited": "CSPDCL",
    "Daman and Diu Electricity Department": "DAMAN_DIU",
    "Tata Power Delhi Distribution": "TATA_DL",
    "BSES Yamuna Power Ltd / BSES Rajdhani Power Ltd": "BSES_DL",
    "Goa Electricity- for Tisvadi, Ponda & Verna": "GOA_ELEC",
    "Goa Electricity- for others": "UPAY_GOA",
    "Uttar Gujarat VIJ Company Ltd.": "UGVCL",
    "Pashchim Gujarat VIJ Company Ltd.": "PGVCL",
    "Madhya Gujarat VIJ Company Limited": "MGVCL",
    "Dakshin Gujarat VIJ Company Limited": "DGVCL",
    "Torrent Power Limited - Ahmedabad": "TORRENT_AHD",
    "Torrent Power Limited - Surat": "TORRENT_SURAT",
    "Torrent Power Limited - Agra": "TORRENT_AGRA",
    "Torrent Power Limited - Bhiwandi": "TORRENT_BHIWANDI",
    "Torrent Power Limited - Dahej": "TORRENT_DAHEJ",
    "Dakshin Haryana Bijli Vitran Nigam": "DHBVN",
    "Uttar Haryana Bijli Vitran Nigam": "UHBVN",
    "Himachal Pradesh State Electricity Board Ltd": "HPSEB",
    "Mangalore Electricity Supply Company Limited": "MESCOM",
    "Bangalore Electricity Supply Company Ltd": "BESCOM",
    "Chamundeshwari Electricity Supply Company Limited Mysore": "CESCOM",
    "Gulbarga Electricity Supply Company Limited": "GESCOM",
    "Hubli Electricity Supply Company Limited": "HESCOM",
    "Kerala State Electricity Board": "KERALA",
    "Madhya Pradesh Paschim Kshetra Vidyut Vitran Company Limited": "MPWZ",
    "Madhya Pradesh Madhya Kshetra Vidyut Vitran Company Limited": "MPCZ",
    "Madhya Pradesh Poorv Kshetra Vidyut Vitran Company Limited": "MPEZ",
    "TATA-Power - Mumbai": "TATA_MUMBAI",
    "MAHAVITARAN-Maharashtra State Electricity Distribution Co. Ltd (MSEDCL)": "MAHAVITRAN",
    "Brihanmumbai Electric Supply & Transport Undertaking for Greater Mumbai (BEST_MH)": "BEST_MH",
    "Meghalaya Energy Corporation Limited": "MeECL",
    "Supply Company of Orissa Limited (North, South, West,Central)": "ORISSA",
    "Punjab State Power Corporation Limited": "PSPCL",
    "Jaipur Vidhyut Vitran Nigam Ltd": "JAIPUR",
    "Ajmer Vidhyut Vitran Nigam Ltd": "AJMER",
    "Jodhpur Vidhyut Vitran Nigam Ltd": "JODHPUR",
    "Tamil Nadu Generation and Distribution Corporation Limited - Chennai_North": "CHENNAI_NORTH",
    "Tamil Nadu Generation and Distribution Corporation Limited - Villupuram": "VILLUPURAM",
    "Tamil Nadu Generation and Distribution Corporation Limited - Coimbatore": "COIMBATORE",
    "Tamil Nadu Generation and Distribution Corporation Limited - Erode": "ERODE",
    "Tamil Nadu Generation and Distribution Corporation Limited - Madurai": "MADURAI",
    "Tamil Nadu Generation and Distribution Corporation Limited - Trichy": "TRICHY",
    "Tamil Nadu Generation and Distribution Corporation Limited - Tirunelvel": "TIRUNELVEL",
    "Tamil Nadu Generation and Distribution Corporation Limited - Vellore": "VELLORE",
    "Tamil Nadu Generation and Distribution Corporation Limited - Chennai_South": "CHENNAI_SOUTH",
    "The Southern Power Distribution Company of Telangana Limited": "TSSPCL",
    "Tripura State Electricity Corporation Limited": "TRIPURA",
    "Kanpur Electricity Supply Company": "KESCO",
    "UP Vidyut Vitran Nigam Limited (All Zones)": "UPPCL",
    "WEST BENGAL STATE ELECTRICITY DISTRIBUTION COMPANY LIMITED": "WBENGAL",
    "Other": "OTH"
}
inverted_dict = {k: j for j, k in KARZA_ELECTRICTY_PROVIDER.items()}

KARZA_UP_DISTRICT = ["Agra","Aligarh","Ambedkar Nagar","Amethia","Amroha","Auraiya","Ayodhya","Azamgarh","Bagpat",
                     "Bahraich","Ballia","Balrampur","Banda","Barabanki","Bareilly","Basti","Bijnor","Budaun",
                     "Bulandshahr","Chandauli","Chitrakoot","Deori","Etah","Etawa","Farrukhabad","Fatehpur",
                     "Firozabad","Gautam Buddha Nagar","Ghaziabad","Ghazipur","Gonda","Gorakhpur","Hamirpur",
                     "Hapur District","Hardoi","Hathras","Jalaun","Jaunpur","Jhansi","Kannauj","Kanpur Dehat",
                     "Kanpur Nagar","Kasganj","Kaushambi","Kushinagar","Lakhimpur Kheri","Lalitpur","Lucknow",
                     "Maharajganj","Mahoba","Mainpuri","Mathura","Mau","Meerut","Mirzapur","Moradabad","Muzaffarnagar",
                     "Pilibhit","Pratapgarh","PrayagRaj","Raebareli ","Rampur","Saharanpur","Sambhal","Sant Kabir Nagar",
                     "Sant Ravidas Nagar Bhadohi","Shahjahanpur","Shamli","Shravasti","Siddharthnagar","Sitapur",
                     "Sonbhadra","Sultanpur","Unnao","Varanasi"]