فهرست منبع

fix: add event handler to delete the site when the related app deleted (#5282)

kurokobo 10 ماه پیش
والد
کامیت
42029791e4
2فایلهای تغییر یافته به همراه12 افزوده شده و 0 حذف شده
  1. 1 0
      api/events/event_handlers/__init__.py
  2. 11 0
      api/events/event_handlers/delete_site_record_when_app_deleted.py

+ 1 - 0
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

+ 11 - 0
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()