sprint9: app visibility — sidebar permission filter + TopBar + ProtectedRoute + route guards
Check Cross-Plugin Imports / check (push) Has been cancelled

This commit is contained in:
Agent Zero
2026-07-29 02:28:52 +02:00
parent 88c04286af
commit 48b2dfdb11
10 changed files with 221 additions and 80 deletions
+3 -2
View File
@@ -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"