
- Enhanced database connection with multiple fallback paths - Updated configuration to use environment variables - Fixed Alembic migrations to work with dynamic database path - Improved robustness of database initialization - Added Docker deployment instructions to README - Updated environment variables documentation
35 lines
1.1 KiB
Python
35 lines
1.1 KiB
Python
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() |