You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
orquestrador/admin_app/app_factory.py

18 lines
668 B
Python

from fastapi import FastAPI
from admin_app.api.router import api_router
from admin_app.core.settings import AdminSettings, get_admin_settings
# Fabrica explicita do runtime administrativo para facilitar testes e futura configuracao.
def create_app(settings: AdminSettings | None = None) -> FastAPI:
resolved_settings = settings or get_admin_settings()
app = FastAPI(
title=resolved_settings.admin_app_name,
version=resolved_settings.admin_version,
debug=resolved_settings.admin_debug,
)
app.state.admin_settings = resolved_settings
app.include_router(api_router, prefix=resolved_settings.admin_api_prefix)
return app