""" 애플리케이션 설정 """ from pydantic_settings import BaseSettings from typing import List import os class Settings(BaseSettings): """애플리케이션 설정 클래스""" # 기본 설정 APP_NAME: str = "Document Server" DEBUG: bool = True VERSION: str = "0.1.0" # 데이터베이스 설정 DATABASE_URL: str = "postgresql+asyncpg://docuser:docpass@localhost:24101/document_db" # Redis 설정 REDIS_URL: str = "redis://localhost:24103/0" # JWT 설정 SECRET_KEY: str = "your-secret-key-change-this-in-production" ALGORITHM: str = "HS256" ACCESS_TOKEN_EXPIRE_MINUTES: int = 30 REFRESH_TOKEN_EXPIRE_DAYS: int = 7 # CORS 설정 ALLOWED_HOSTS: List[str] = ["http://localhost:24100", "http://127.0.0.1:24100"] ALLOWED_ORIGINS: List[str] = ["http://localhost:24100", "http://127.0.0.1:24100"] # 파일 업로드 설정 UPLOAD_DIR: str = "uploads" MAX_FILE_SIZE: int = 100 * 1024 * 1024 # 100MB ALLOWED_EXTENSIONS: List[str] = [".html", ".htm", ".pdf"] # 관리자 계정 설정 (초기 설정용) ADMIN_EMAIL: str = "admin@document-server.local" ADMIN_PASSWORD: str = "admin123" # 프로덕션에서는 반드시 변경 class Config: env_file = ".env" case_sensitive = True # 설정 인스턴스 생성 settings = Settings() # 업로드 디렉토리 생성 os.makedirs(settings.UPLOAD_DIR, exist_ok=True) os.makedirs(f"{settings.UPLOAD_DIR}/documents", exist_ok=True) os.makedirs(f"{settings.UPLOAD_DIR}/thumbnails", exist_ok=True)