from config.settings import settings from fastapi import FastAPI from fastapi.middleware.cors import CORSMiddleware from routers import ai, auth, bible, documents, export, health, images, projects from services.document_service import document_service from services.project_service import project_service app = FastAPI(title="Writer IDE API", version="0.1.0") # CORS configuration - uses settings from .env app.add_middleware( CORSMiddleware, allow_origins=settings.CORS_ORIGINS, allow_credentials=True, allow_methods=["*"], allow_headers=["*"], ) # Include routers app.include_router(health.router, prefix="/api") app.include_router(auth.router, prefix="/api") app.include_router(projects.router, prefix="/api") app.include_router(documents.router, prefix="/api") app.include_router(ai.router, prefix="/api") app.include_router(bible.router, prefix="/api") app.include_router(export.router, prefix="/api") app.include_router(images.router, prefix="/api") @app.on_event("startup") async def startup_event(): """Инициализация тестового документа в активном проекте при запуске сервера""" # Если есть проекты, инициализируем тестовый документ в первом all_projects = project_service.get_all_projects() if all_projects: default_project = all_projects[0] document_service.initialize_test_document( default_project.id, default_project.user_id ) @app.get("/") async def root(): return {"message": "Writer IDE API", "docs": "/docs"}