"Global config variables"
import os

from dotenv import load_dotenv

from utils.dynamo_connector import secret_manager

load_dotenv()

openai_api_key = os.getenv("OPENAI_API_KEY")

openai_token_limit = 24000
OPENAI_TOKEN_LIMIT = 24000

EMBEDDING_MODEL = "text-embedding-3-small"
OPENAI_MODEL_35 = "gpt-4o-mini"
OPENAI_MODEL_4O = "gpt-4o"
OPENAI_MODEL_MINI = "gpt-4o-mini"

import chromadb.utils.embedding_functions as embedding_functions

OPENAI_EF = embedding_functions.OpenAIEmbeddingFunction(
    api_key=os.environ["OPENAI_API_KEY"],
    model_name=EMBEDDING_MODEL,
)


OPENAI_API_KEY = os.getenv("OPENAI_API_KEY")
BRAND_FETCH_API = os.getenv("BRAND_FETCH_API")

GOOGLE_SEARCH_API = os.getenv("GOOGLE_SEARCH_API")
COMTEX_API_KEY = os.getenv("COMTEX_API_KEY")

BUBBLE_URL = "https://sagarsoni.bubbleapps.io/api/1.1/wf/xcm_send_websites"

BUBBLE_WEBSITE_OBJS = "https://app.xcapmarket.com/api/1.1/obj/websites"
BUBBLE_PRIVATE_KEY = os.environ.get("BUBBLE_PRIVATE_KEY")

STOCK_IMAGE_FILENAME = r"images/stock/stock_leadership_pic.png"

# Dictionary for random checks

languages_to_check = {
    "uk": True,
    "zh": True,
    "es": True,
    "hi": True,
    "ar": True,
    "bn": True,
    "pt": True,
    "ru": True,
    "ja": True,
    "pa": True,
    "de": True,
    "jv": True,
    "wu": True,
    "ms": True,
    "te": True,
    "vi": True,
    "ko": True,
    "fr": True,
    "mr": True,
    "ta": True,
    "jp": True,
    "nl": True,
    "au": True,
    "sg": True,
    "kr": True,
    "se": True,
}

country_code_to_accept = {
    "us": True,
    "USA": True,
    "United States": True,
    "United States of America": True,
    "usa": True,
    "united states": True,
    "united states of america": True,
    "uk": True,
    "UK": True,
    "GB": True,
    "gb": True,
}

pic_file_extension = {
    "svg": 1,
    "png": 2,
    "jpg": 3,
    "jpeg": 4,
    "gif": 5,
    "bmp": 6,
    "tiff": 7,
    "tif": 8,
    "webp": 9,
    "psd": 10,
    "heic": 11,
    "ico": 12,
    "jp2": 13,
    "exif": 14,
}


MAX_URL_DEPTH = 3

# dynamo db table
dnyamo_region = "us-west-1"
company_info_table = "company_information"
website_table = "website_pages"
company_LLM_table = "LLM_results"
company_list = "company_list"

# openai
secret_name = "openapi"
# max limits

MAX_URL_DEPTH = 2

api_keys = {
    "sagar_test": True,
    "xcm_live": True,
}


REFRESH_TOKEN = "refresh_token"
ACCESS_TOKEN = "access_token"
ID_TOKEN = "id_token"


COGNITO_REGION = os.getenv("COGNITO_REGION")
COGNITO_USER_POOL_ID = os.getenv("COGNITO_USER_POOL_ID")
COGNITO_CLIENT_ID = os.getenv("COGNITO_CLIENT_ID")
COGNITO_CLIENT_SECRET = os.getenv("COGNITO_CLIENT_SECRET")
COGNITO_REDIRECT_URI = os.getenv("COGNITO_REDIRECT_URI") + "/cognito/redirect/callback"
COGNITO_LOGOUT_REDIRECT_URI = os.getenv("COGNITO_LOGOUT_REDIRECT_URI") + "/auth/login"

COGNITO_DOMAIN = f"https://{COGNITO_USER_POOL_ID.replace('_', '')}.auth.{COGNITO_REGION}.amazoncognito.com"
