fix: upgrade vs install
This commit is contained in:
parent
a242a823fc
commit
46faa62b8b
3 changed files with 7 additions and 8 deletions
|
|
@ -211,7 +211,7 @@ def register_ext_routes(app: FastAPI, ext: Extension) -> None:
|
|||
|
||||
logger.trace(f"adding route for extension {ext_module}")
|
||||
|
||||
prefix = f"/upgrades/{ext.hash}" if ext.hash != "" else ""
|
||||
prefix = f"/upgrades/{ext.upgrade_hash}" if ext.upgrade_hash != "" else ""
|
||||
app.include_router(router=ext_route, prefix=prefix)
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -756,14 +756,15 @@ async def api_install_extension(
|
|||
# mount routes for the new version
|
||||
core_app_extra.register_new_ext_routes(extension)
|
||||
|
||||
if ext_info.module_installed:
|
||||
if extension.upgrade_hash:
|
||||
ext_info.nofiy_upgrade()
|
||||
|
||||
except Exception as ex:
|
||||
logger.warning(ex)
|
||||
ext_info.clean_extension_files()
|
||||
raise HTTPException(
|
||||
status_code=HTTPStatus.INTERNAL_SERVER_ERROR, detail="Failed to install extension."
|
||||
status_code=HTTPStatus.INTERNAL_SERVER_ERROR,
|
||||
detail="Failed to install extension.",
|
||||
)
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -30,13 +30,13 @@ class Extension(NamedTuple):
|
|||
hidden: bool = False
|
||||
migration_module: Optional[str] = None
|
||||
db_name: Optional[str] = None
|
||||
hash: Optional[str] = ""
|
||||
upgrade_hash: Optional[str] = ""
|
||||
|
||||
@property
|
||||
def module_name(self):
|
||||
return (
|
||||
f"lnbits.extensions.{self.code}"
|
||||
if self.hash == ""
|
||||
if self.upgrade_hash == ""
|
||||
else f"lnbits.upgrades.{self.code}-{self.hash}.{self.code}"
|
||||
)
|
||||
|
||||
|
|
@ -47,7 +47,7 @@ class Extension(NamedTuple):
|
|||
is_valid=True,
|
||||
is_admin_only=False, # todo: is admin only
|
||||
name=ext_info.name,
|
||||
hash=ext_info.hash if ext_info.module_installed else "",
|
||||
upgrade_hash=ext_info.hash if ext_info.module_installed else "",
|
||||
)
|
||||
|
||||
|
||||
|
|
@ -301,8 +301,6 @@ class InstallableExtension(BaseModel):
|
|||
|
||||
def nofiy_upgrade(self) -> None:
|
||||
"""Update the list of upgraded extensions. The middleware will perform redirects based on this"""
|
||||
if not self.hash:
|
||||
return
|
||||
|
||||
clean_upgraded_exts = list(
|
||||
filter(
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue