feat: complete use of LNBITS_EXTENSIONS_DEACTIVATE_ALL (#2341)

- add to admin ui
- move to `ExtensionsSettings`
- hide left navbar when disabled
- do not register extension routes on startup
- do not check for installed extensions on startup
- reafctor into register_all_ext_routes
This commit is contained in:
dni ⚡
2024-03-26 11:44:33 +01:00
committed by GitHub
parent 86821f4606
commit b9f0af0e79
7 changed files with 36 additions and 19 deletions
+13 -15
View File
@@ -285,17 +285,6 @@ async def restore_installed_extension(app: FastAPI, ext: InstallableExtension):
ext.nofiy_upgrade()
def register_routes(app: FastAPI) -> None:
"""Register FastAPI routes / LNbits extensions."""
init_core_routers(app)
for ext in get_valid_extensions(False):
try:
register_ext_routes(app, ext)
except Exception as e:
logger.error(f"Could not load extension `{ext.code}`: {str(e)}")
def register_custom_extensions_path():
if settings.has_default_extension_path:
return
@@ -371,6 +360,14 @@ def register_ext_routes(app: FastAPI, ext: Extension) -> None:
app.include_router(router=ext_route, prefix=prefix)
def register_all_ext_routes(app: FastAPI):
for ext in get_valid_extensions(False):
try:
register_ext_routes(app, ext)
except Exception as e:
logger.error(f"Could not load extension `{ext.code}`: {str(e)}")
def register_startup(app: FastAPI):
@app.on_event("startup")
async def lnbits_startup():
@@ -396,11 +393,12 @@ def register_startup(app: FastAPI):
# initialize funding source
await check_funding_source()
# check extensions after restart
await check_installed_extensions(app)
init_core_routers(app)
# register core and extension routes
register_routes(app)
# check extensions after restart
if not settings.lnbits_extensions_deactivate_all:
await check_installed_extensions(app)
register_all_ext_routes(app)
if settings.lnbits_admin_ui:
initialize_server_logger()