46 lines
1.3 KiB
Python
46 lines
1.3 KiB
Python
import os
|
|
from fastapi import FastAPI
|
|
from fastapi.staticfiles import StaticFiles
|
|
from api.routers import router
|
|
import config
|
|
from fastapi.middleware.proxy_headers import ProxyHeadersMiddleware
|
|
|
|
ENV = os.getenv("APP_ENV", "dev") # dev по умолчанию
|
|
|
|
|
|
def create_app():
|
|
if ENV == "prod":
|
|
# Полное отключение документации
|
|
app = FastAPI(
|
|
title="API сервер проекта ToolsBox",
|
|
summary="Сервис управления складом инструментов",
|
|
docs_url=None,
|
|
redoc_url=None,
|
|
openapi_url=None,
|
|
)
|
|
else:
|
|
# Dev-режим: документация включена
|
|
app = FastAPI(
|
|
title="API сервер проекта ToolsBox",
|
|
summary="Сервис управления складом инструментов",
|
|
docs_url="/docs",
|
|
redoc_url="/redoc",
|
|
openapi_url="/openapi.json",
|
|
)
|
|
return app
|
|
|
|
|
|
app = create_app()
|
|
|
|
# Подключение static
|
|
app.mount(
|
|
"/static",
|
|
StaticFiles(directory=f"{config.RELOAD_DIR}api/static"),
|
|
name="static",
|
|
)
|
|
|
|
app.include_router(router)
|
|
|
|
|
|
app.add_middleware(ProxyHeadersMiddleware, trusted_hosts="*")
|