sprint9: app visibility — sidebar permission filter + TopBar + ProtectedRoute + route guards
Check Cross-Plugin Imports / check (push) Has been cancelled
Check Cross-Plugin Imports / check (push) Has been cancelled
This commit is contained in:
@@ -10,9 +10,10 @@ from sqlalchemy.dialects.postgresql import UUID as PGUUID
|
||||
from sqlalchemy.orm import Mapped, mapped_column
|
||||
|
||||
from app.core.db import Base, TenantMixin
|
||||
from app.models.owned_mixin import OwnedMixin
|
||||
|
||||
|
||||
class Folder(Base, TenantMixin):
|
||||
class Folder(Base, TenantMixin, OwnedMixin):
|
||||
"""Folder entity — hierarchical, tenant-scoped, soft-deletable."""
|
||||
|
||||
__tablename__ = "folders"
|
||||
@@ -41,7 +42,7 @@ class Folder(Base, TenantMixin):
|
||||
deleted_at: Mapped[datetime | None] = mapped_column(DateTime(timezone=True), nullable=True)
|
||||
|
||||
|
||||
class File(Base, TenantMixin):
|
||||
class File(Base, TenantMixin, OwnedMixin):
|
||||
"""File entity — stored on disk, tenant-scoped, soft-deletable."""
|
||||
|
||||
__tablename__ = "files"
|
||||
|
||||
Reference in New Issue
Block a user