sprint2: 8 services + 8 routes visibility filter + BaseSearchProvider + owned_mixin on models
Check Cross-Plugin Imports / check (push) Has been cancelled
Check Cross-Plugin Imports / check (push) Has been cancelled
This commit is contained in:
@@ -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'
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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"
|
||||
|
||||
Reference in New Issue
Block a user