/
sunchise
/
Test
Обзор
Документация
Войти
/
sunchise
/
Test
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
backend/main.py
41 строка
2 KB
sunchise
Запрос на слияние 'frontend2' (
#1
) из frontend2 в master
26 мар 2026, 18:24
Верифицирован
26 мар 2026, 18:24
761ae63
Код
Авторство
О чём код?
from fastapi import FastAPI from fastapi.middleware.cors import CORSMiddleware from api.routes import projects, materials, suppliers, pricing # ✅ Сначала загружаем все схемы, чтобы Pydantic мог разрешить отложенные ссылки import schemas # Принудительно перестраиваем все схемы с отложенными ссылками # Сначала перестраиваем базовые схемы, от которых зависят другие schemas.categories.ProjectCategoryResponse.model_rebuild() schemas.categories.MaterialCategoryResponse.model_rebuild() # Затем перестраиваем схемы, которые зависят от базовых schemas.project.StepResponse.model_rebuild() schemas.project.NodeResponse.model_rebuild() # И только потом перестраиваем ProjectResponse, который зависит от всех остальных schemas.project.ProjectResponse.model_rebuild() app = FastAPI(title="Manufacturing Project API", version="1.0.0") # Настройка CORS app.add_middleware( CORSMiddleware, allow_origins=["http://localhost:5173"], # Разрешаем фронтенд allow_credentials=True, allow_methods=["*"], allow_headers=["*"], ) app.include_router(projects, prefix="/api/projects", tags=["Projects"]) app.include_router(materials, prefix="/api/materials", tags=["Materials"]) app.include_router(suppliers, prefix="/api/suppliers", tags=["Suppliers"]) app.include_router(pricing.router, prefix="/api/pricing", tags=["Pricing"]) print("✅ Все схемы загружены") @app.get("/") def root(): return {"message": "API is running", "docs": "/docs"}