From 4785c061a9261b9b50c799dc0a043bce5aa0557e Mon Sep 17 00:00:00 2001 From: GareArc Date: Thu, 10 Apr 2025 15:19:28 -0400 Subject: [PATCH] feat: add webapp clean up --- api/services/app_service.py | 4 ++++ api/services/enterprise/enterprise_service.py | 10 ++++++++++ 2 files changed, 14 insertions(+) diff --git a/api/services/app_service.py b/api/services/app_service.py index 59a917d4fd..03393c00fa 100644 --- a/api/services/app_service.py +++ b/api/services/app_service.py @@ -317,6 +317,10 @@ class AppService: db.session.delete(app) db.session.commit() + # clean up web app settings + if FeatureService.get_system_features().webapp_auth.enabled: + EnterpriseService.cleanup_webapp(app.id) + # Trigger asynchronous deletion of app and related data remove_app_and_related_data_task.delay(tenant_id=app.tenant_id, app_id=app.id) diff --git a/api/services/enterprise/enterprise_service.py b/api/services/enterprise/enterprise_service.py index c1fccd0dff..299764ffc4 100644 --- a/api/services/enterprise/enterprise_service.py +++ b/api/services/enterprise/enterprise_service.py @@ -58,3 +58,13 @@ class EnterpriseService: response = EnterpriseRequest.send_request("POST", "/webapp/access-mode", json=data) return response.get("result", False) + + @classmethod + def cleanup_webapp(cls, app_id: str): + if not app_id: + raise ValueError("app_id must be provided.") + + body = { + "appId": app_id + } + EnterpriseRequest.send_request("DELETE", "/webapp/clean", json=body)