Init project

This commit is contained in:
2025-08-27 12:47:23 +04:00
commit 9ee249de29
24 changed files with 2449 additions and 0 deletions

56
doc-service/app/config.py Normal file
View File

@@ -0,0 +1,56 @@
import os
from typing import List
from pydantic_settings import BaseSettings
from dotenv import load_dotenv
# Загрузка .env файла
load_dotenv()
class Settings(BaseSettings):
"""Настройки приложения"""
# Основные настройки
DEBUG: bool = os.getenv("DEBUG", "False").lower() == "true"
HOST: str = os.getenv("HOST", "0.0.0.0")
PORT: int = int(os.getenv("PORT", "8000"))
LOG_LEVEL: str = os.getenv("LOG_LEVEL", "INFO")
# CORS
ALLOWED_ORIGINS: List[str] = [
"http://localhost:3000",
"http://localhost:8080",
"https://localhost:3000",
"https://localhost:8080"
]
# Redis
REDIS_HOST: str = os.getenv("REDIS_HOST", "localhost")
REDIS_PORT: int = int(os.getenv("REDIS_PORT", "6379"))
REDIS_PASSWORD: str = os.getenv("REDIS_PASSWORD", "")
REDIS_DB: int = int(os.getenv("REDIS_DB", "0"))
# Core Service
CORE_SERVICE_URL: str = os.getenv("CORE_SERVICE_URL", "http://localhost:8080")
# Документы
DOCUMENTS_CACHE_TTL: int = int(os.getenv("DOCUMENTS_CACHE_TTL", "86400")) # 24 часа
MAX_DOCUMENT_SIZE: int = int(os.getenv("MAX_DOCUMENT_SIZE", "10485760")) # 10MB
# Пути для файлов
TEMPLATES_DIR: str = os.getenv("TEMPLATES_DIR", "app/templates")
OUTPUT_DIR: str = os.getenv("OUTPUT_DIR", "app/output")
# QR коды
QR_CODE_SIZE: int = int(os.getenv("QR_CODE_SIZE", "10"))
QR_CODE_BORDER: int = int(os.getenv("QR_CODE_BORDER", "2"))
class Config:
env_file = ".env"
case_sensitive = False
# Создание экземпляра настроек
settings = Settings()
# Создание директорий если не существуют
os.makedirs(settings.TEMPLATES_DIR, exist_ok=True)
os.makedirs(settings.OUTPUT_DIR, exist_ok=True)