sprint2: 8 services + 8 routes visibility filter + BaseSearchProvider + owned_mixin on models
Check Cross-Plugin Imports / check (push) Has been cancelled

This commit is contained in:
Agent Zero
2026-07-29 01:52:47 +02:00
parent 479ee04834
commit 9fc84b7905
25 changed files with 977 additions and 211 deletions
+1 -1
View File
@@ -12,7 +12,7 @@ from app.core.db import Base, TenantMixin
from app.models.owned_mixin import OwnedMixin
class Address(Base, TenantMixin):
class Address(Base, TenantMixin, OwnedMixin):
"""Polymorphic address entity — multiple addresses per contact.
entity_type: 'contact'
+1 -1
View File
@@ -13,7 +13,7 @@ from app.core.db import Base, TenantMixin
from app.models.owned_mixin import OwnedMixin
class Attachment(Base, TenantMixin):
class Attachment(Base, TenantMixin, OwnedMixin):
"""Attachment entity — links files to companies, contacts, invoices, etc."""
__tablename__ = "attachments"
+1 -1
View File
@@ -12,7 +12,7 @@ from app.core.db import Base, TenantMixin
from app.models.owned_mixin import OwnedMixin
class BankAccount(Base, TenantMixin):
class BankAccount(Base, TenantMixin, OwnedMixin):
"""Bank account entity — multiple accounts per tenant.
is_default: one default bank account per tenant.
+1 -1
View File
@@ -14,7 +14,7 @@ from app.core.db import Base, TenantMixin
from app.models.owned_mixin import OwnedMixin
class SavedFilter(Base, TenantMixin):
class SavedFilter(Base, TenantMixin, OwnedMixin):
"""Saved filter — reusable filter criteria for list views (contacts, mail, calendar, DMS)."""
__tablename__ = "saved_filters"
+1 -1
View File
@@ -14,7 +14,7 @@ from app.core.db import Base, TenantMixin
from app.models.owned_mixin import OwnedMixin
class SavedView(Base, TenantMixin):
class SavedView(Base, TenantMixin, OwnedMixin):
"""Saved view — reusable view configuration (filter+sort+group+viewMode+folder) for list views."""
__tablename__ = "saved_views"
+1 -1
View File
@@ -13,7 +13,7 @@ from app.core.db import Base, TenantMixin
from app.models.owned_mixin import OwnedMixin
class Sequence(Base, TenantMixin):
class Sequence(Base, TenantMixin, OwnedMixin):
"""Sequence entity for document numbering (e.g. invoice RE-2026-0001)."""
__tablename__ = "sequences"
+1 -1
View File
@@ -12,7 +12,7 @@ from app.core.db import Base, TenantMixin
from app.models.owned_mixin import OwnedMixin
class Webhook(Base, TenantMixin):
class Webhook(Base, TenantMixin, OwnedMixin):
"""Outgoing webhook subscription.
Each webhook defines a target URL, a list of events to subscribe to,
+1 -1
View File
@@ -15,7 +15,7 @@ from app.core.db import Base, TenantMixin
from app.models.owned_mixin import OwnedMixin
class Workflow(Base, TenantMixin):
class Workflow(Base, TenantMixin, OwnedMixin):
"""Workflow definition — a template of steps stored as JSONB, tenant-scoped."""
__tablename__ = "workflows"