[fix] check user extension access (#2519)

* feat: check user extension access
* fix: handle upgraded extensions
This commit is contained in:
Vlad Stan
2024-05-22 11:10:35 +02:00
committed by dni ⚡
parent d4da96597e
commit 44b458ebb8
8 changed files with 66 additions and 56 deletions
+3 -7
View File
@@ -115,19 +115,15 @@ async def extensions_install(
all_extensions = get_valid_extensions()
ext = next((e for e in all_extensions if e.code == ext_id), None)
if ext_id and user.admin:
if deactivate and deactivate not in settings.lnbits_deactivated_extensions:
settings.lnbits_deactivated_extensions += [deactivate]
if deactivate:
settings.lnbits_deactivated_extensions.add(deactivate)
elif activate:
# if extension never loaded (was deactivated on server startup)
if ext_id not in sys.modules.keys():
# run extension start-up routine
core_app_extra.register_new_ext_routes(ext)
settings.lnbits_deactivated_extensions = list(
filter(
lambda e: e != activate, settings.lnbits_deactivated_extensions
)
)
settings.lnbits_deactivated_extensions.remove(activate)
await update_installed_extension_state(
ext_id=ext_id, active=activate is not None