File size: 1,926 Bytes
478dec6
 
 
 
 
 
 
 
 
 
85d8eae
478dec6
 
 
 
85d8eae
 
 
478dec6
 
 
 
85d8eae
 
 
1ee7e5c
7cee573
85d8eae
478dec6
85d8eae
478dec6
e22b3b4
 
 
 
 
 
478dec6
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
import os
from dataclasses import dataclass, field
from dotenv import load_dotenv
from typing import List
from config.env_constant import EnvFilepath
load_dotenv(EnvFilepath.ENVPATH)


@dataclass
class EnvPostgresConstants:
    CONSTRING: str = os.environ.get("ss__postgresql__url")

@dataclass(frozen=True)
class SecurityConstants:
    BCRYPT_MAX_BYTES: int = 72
    JWT_SECRET_KEY: str = os.environ.get("ss__jwt__secret_key")
    JWT_ALGORITHM: str = os.environ.get("ss__jwt__algorithm")
    JWT_EXPIRE_MINUTES: int = int(os.environ.get("ss__jwt__access_token_expire_minutes", 60))

@dataclass(frozen=True)
class AzureBlobConstants:
    BLOB_PREFIX: str = "dev" # DOCS: change accordingly
    ENDPOINT: str = os.environ.get("azureai__container__endpoint")
    CONTAINER_NAME: str = os.environ.get("azureai__container__name")
    SAS_KEY: str = os.environ.get("azureai__search__sas")
    BLOB_SAS_KEY: str = os.environ.get("azureai__blob__sas")
    CONTAINER_KEY: str = os.environ.get("azureai__container__key")
    MAX_FILE_SIZE_MB: int = int(os.getenv("azureai__max_file_size_mb", "5"))
    CHUNK_SIZE: int = 4 * 1024 * 1024
    ACCOUNT_NAME: str = os.environ.get("azureai__container__account__name")

@dataclass(frozen=True)
class LangfuseConstants:
    SECRET_KEY: str = os.environ.get("ss__langfuse__secret_key")
    PUBLIC_KEY: str = os.environ.get("ss__langfuse__public_key")
    HOST: str = os.environ.get("langfuse__host")

@dataclass
class ProfileFieldTypes:
    NUMERIC: List[str] = field(default_factory=lambda: ["gpa_edu_1", "gpa_edu_2", "gpa_edu_3", "yoe"])
    TEXT: List[str] = field(default_factory=lambda: ["univ_edu_1", "major_edu_1", 
                       "univ_edu_2", "major_edu_2", 
                       "univ_edu_3", "major_edu_3", 
                       "domicile",
                       "hardskills", "softskills", "certifications", "business_domain"])
ProfileFieldTypes = ProfileFieldTypes()