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="*")
