from pydantic_settings import BaseSettings, SettingsConfigDict class Settings(BaseSettings): """تنظیمات برنامه — از متغیرهای محیطی یا فایل .env خوانده می‌شود.""" model_config = SettingsConfigDict( env_file=".env", env_file_encoding="utf-8", extra="ignore", ) database_url: str = "postgresql+psycopg://postgres:postgres@localhost:5432/arameshplaza_api" secret_key: str = "dev-secret-change-me-in-production" algorithm: str = "HS256" access_token_expire_minutes: int = 1440 cors_origins: list[str] = ["*"] admin_username: str = "admin" admin_password: str = "aramesh123" # Object Storage (MinIO / هر S3 سازگار) برای آپلود تصاویر s3_endpoint: str = "http://localhost:9000" s3_access_key: str = "aramesh" s3_secret_key: str = "aramesh-minio-secret" s3_bucket: str = "aramesh-media" # پیشوند عمومی مسیر تصاویر — Traefik آن را به باکت پروکسی می‌کند media_public_base: str = "/media" media_max_upload_mb: int = 10 # نشانی کامل سایت (مثل https://aramesh.example) — برای sitemap و آدرس مطلق OG site_url: str = "" # مسیر بیلد فرانت‌اند (شامل index.html) — برای سرو HTML با متای سئو در صفحات جزئیات frontend_dist: str = "../frontend/dist" settings = Settings()