diff --git a/server/mergin/sync/models.py b/server/mergin/sync/models.py index 4acfb648..462e964a 100644 --- a/server/mergin/sync/models.py +++ b/server/mergin/sync/models.py @@ -9,6 +9,7 @@ from enum import Enum from typing import Optional, List, Dict, Set +from blinker import signal from flask_login import current_user from pygeodiff import GeoDiff from sqlalchemy import text, null @@ -25,6 +26,7 @@ from .utils import int_version, is_versioned_file Storages = {"local": DiskStorage} +project_deleted = signal("project_deleted") class Project(db.Model): @@ -328,6 +330,7 @@ def delete(self, removed_by: int = None): for req in access_requests: req.resolve(status=RequestStatus.DECLINED, resolved_by=self.removed_by) db.session.commit() + project_deleted.send(self) class ProjectRole(Enum):