Sage100-ws/config.py
2025-11-26 11:08:57 +03:00

42 lines
No EOL
1.2 KiB
Python

from pydantic_settings import BaseSettings, SettingsConfigDict
from typing import Optional, List
class Settings(BaseSettings):
model_config = SettingsConfigDict(
env_file=".env",
env_file_encoding="utf-8",
case_sensitive=False,
extra="ignore"
)
# === SAGE 100c (Windows uniquement) ===
chemin_base: str
utilisateur: str = "Administrateur"
mot_de_passe: str
# === Sécurité Gateway ===
sage_gateway_token: str # Token partagé avec le VPS Linux
# === SMTP (optionnel sur Windows) ===
smtp_host: Optional[str] = None
smtp_port: int = 587
smtp_user: Optional[str] = None
smtp_password: Optional[str] = None
smtp_from: Optional[str] = None
# === API Windows ===
api_host: str = "0.0.0.0"
api_port: int = 8000
# === CORS ===
cors_origins: List[str] = ["*"]
settings = Settings()
def validate_settings():
"""Validation au démarrage"""
if not settings.chemin_base or not settings.mot_de_passe:
raise ValueError("❌ CHEMIN_BASE et MOT_DE_PASSE requis dans .env")
if not settings.sage_gateway_token:
raise ValueError("❌ SAGE_GATEWAY_TOKEN requis (doit être identique sur Linux)")
return True