From 4bac4dc86b3290f34fabccfe22cef2cb145585ae Mon Sep 17 00:00:00 2001 From: Whyverum Date: Mon, 1 Dec 2025 18:16:18 +0700 Subject: [PATCH] =?UTF-8?q?=D0=9E=D1=81=D0=BD=D0=BE=D0=B2=D0=BD=D0=B0?= =?UTF-8?q?=D1=8F=20=D1=82=D0=BE=D1=87=D0=BA=D0=B0=20=D0=B2=D1=85=D0=BE?= =?UTF-8?q?=D0=B4=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/main.py | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 backend/main.py diff --git a/backend/main.py b/backend/main.py new file mode 100644 index 0000000..ef24a3a --- /dev/null +++ b/backend/main.py @@ -0,0 +1,41 @@ +from fastapi import FastAPI +from fastapi.staticfiles import StaticFiles +from fastapi.responses import FileResponse +from pathlib import Path + +# Импорт роутера +from .routes.license_routes import router as license_router # Изменено: один dot вместо двух + +# Путь к корню проекта +BASE_DIR = Path(__file__).resolve().parent + +def create_app() -> FastAPI: + """ + Создание и конфигурация FastAPI приложения. + Подключает роутеры и статические файлы. + """ + apps: FastAPI = FastAPI( + title="License Generator API", + description="API для генерации лицензий Custom.mxtpro", + version="1.0.0" + ) + + # Подключение роутеров + apps.include_router(license_router, prefix="/api") + + # Монтируем статические папки фронтенда + apps.mount("/static/css", StaticFiles(directory=BASE_DIR.parent / "frontend" / "css"), name="css") + apps.mount("/static/js", StaticFiles(directory=BASE_DIR.parent / "frontend" / "js"), name="js") + apps.mount("/static/assets", StaticFiles(directory=BASE_DIR.parent / "frontend" / "assets"), name="assets") + + # Отдача главной страницы + @apps.get("/", include_in_schema=False) + def read_index() -> FileResponse: + """ + Отдает главную страницу сайта (index.html) + """ + return FileResponse(BASE_DIR.parent / "frontend" / "templates" / "index.html") + return apps + +# Экземпляр приложения +app: FastAPI = create_app()