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