diff --git a/api/events/event_handlers/__init__.py b/api/events/event_handlers/__init__.py index ceb50a252b..c82b8a92d9 100644 --- a/api/events/event_handlers/__init__.py +++ b/api/events/event_handlers/__init__.py @@ -5,6 +5,7 @@ from .create_installed_app_when_app_created import handle from .create_site_record_when_app_created import handle from .deduct_quota_when_messaeg_created import handle from .delete_installed_app_when_app_deleted import handle +from .delete_site_record_when_app_deleted import handle from .delete_tool_parameters_cache_when_sync_draft_workflow import handle from .delete_workflow_as_tool_when_app_deleted import handle from .update_app_dataset_join_when_app_model_config_updated import handle diff --git a/api/events/event_handlers/delete_site_record_when_app_deleted.py b/api/events/event_handlers/delete_site_record_when_app_deleted.py new file mode 100644 index 0000000000..2e476d3d53 --- /dev/null +++ b/api/events/event_handlers/delete_site_record_when_app_deleted.py @@ -0,0 +1,11 @@ +from events.app_event import app_was_deleted +from extensions.ext_database import db +from models.model import Site + + +@app_was_deleted.connect +def handle(sender, **kwargs): + app = sender + site = db.session.query(Site).filter(Site.app_id == app.id).first() + db.session.delete(site) + db.session.commit()