45 lines
1.7 KiB
Python
45 lines
1.7 KiB
Python
import os
|
|
from pydantic_settings import BaseSettings
|
|
|
|
class Settings(BaseSettings):
|
|
# --- Infrastructure ---
|
|
# Internal Docker URL for Company Explorer
|
|
COMPANY_EXPLORER_URL: str = "http://company-explorer:8000"
|
|
|
|
# --- SuperOffice API Credentials ---
|
|
SO_ENVIRONMENT: str = "sod" # 'sod' or 'online'
|
|
SO_CLIENT_ID: str = ""
|
|
SO_CLIENT_SECRET: str = ""
|
|
SO_REFRESH_TOKEN: str = ""
|
|
SO_REDIRECT_URI: str = "http://localhost"
|
|
SO_CONTEXT_IDENTIFIER: str = "Cust55774" # e.g. Cust12345
|
|
|
|
# --- Feature Flags ---
|
|
ENABLE_WEBSITE_SYNC: bool = False # Disabled by default to prevent loops
|
|
|
|
# --- Mappings (IDs from SuperOffice) ---
|
|
# Vertical IDs (List Items)
|
|
# Default values match the current hardcoded DEV IDs
|
|
# Format: "Name In Explorer": ID_In_SuperOffice
|
|
VERTICAL_MAP_JSON: str = '{"Logistics - Warehouse": 23, "Healthcare - Hospital": 24, "Infrastructure - Transport": 25, "Leisure - Indoor Active": 26}'
|
|
|
|
# Persona / Job Role IDs (List Items for "Position" field)
|
|
# To be filled after discovery
|
|
PERSONA_MAP_JSON: str = '{}'
|
|
|
|
# User Defined Fields (ProgIDs)
|
|
# The technical names of the fields in SuperOffice
|
|
# Default values match the current hardcoded DEV UDFs
|
|
UDF_SUBJECT: str = "SuperOffice:5"
|
|
UDF_INTRO: str = "SuperOffice:6"
|
|
UDF_SOCIAL_PROOF: str = "SuperOffice:7"
|
|
UDF_VERTICAL: str = "SuperOffice:5" # NOTE: Currently same as Subject in dev? Need to verify. worker.py had 'SuperOffice:5' for vertical AND 'SuperOffice:5' for subject in the map?
|
|
|
|
class Config:
|
|
env_file = ".env"
|
|
env_file_encoding = "utf-8"
|
|
extra = "ignore" # Ignore extra fields in .env
|
|
|
|
# Global instance
|
|
settings = Settings()
|