from typing import List, Optional from pydantic_settings import BaseSettings from pydantic import EmailStr import secrets import os class Settings(BaseSettings): PROJECT_NAME: str = "HR Platform API" API_V1_STR: str = "/api/v1" # SECURITY SECRET_KEY: str = os.environ.get("SECRET_KEY", secrets.token_urlsafe(32)) # 60 minutes * 24 hours * 8 days = 8 days ACCESS_TOKEN_EXPIRE_MINUTES: int = int(os.environ.get("ACCESS_TOKEN_EXPIRE_MINUTES", 60 * 24 * 8)) # CORS BACKEND_CORS_ORIGINS: List[str] = ["*"] # First superuser FIRST_SUPERUSER: EmailStr = os.environ.get("FIRST_SUPERUSER", "admin@example.com") FIRST_SUPERUSER_PASSWORD: str = os.environ.get("FIRST_SUPERUSER_PASSWORD", "admin123") # Database path - this is just a placeholder, the actual path is determined in db/session.py DATABASE_PATH: Optional[str] = os.environ.get("DATABASE_PATH") # SQLITE DB URI - will be set by db/session.py SQLALCHEMY_DATABASE_URI: Optional[str] = None class Config: case_sensitive = True env_file = ".env" settings = Settings()