feat(multi-user): add multi-user feature flag, owner_id model field, and user-scoped queries

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
This commit is contained in:
copilot-swe-agent[bot]
2026-03-05 11:26:24 +00:00
parent af4cd966e9
commit 71f437e43a
9 changed files with 196 additions and 14 deletions
@@ -0,0 +1,29 @@
"""Add multi-user support: owner_id column on files table
Revision ID: 012_add_multi_user_support
Revises: 011_add_pdfa_paths
Create Date: 2026-03-05
"""
from typing import Union
import sqlalchemy as sa
from alembic import op
# revision identifiers, used by Alembic.
revision: str = "012_add_multi_user_support"
down_revision: Union[str, None] = "011_add_pdfa_paths"
depends_on: Union[str, None] = None
def upgrade() -> None:
"""Add owner_id column to files table for multi-user document isolation."""
op.add_column("files", sa.Column("owner_id", sa.String(), nullable=True))
op.create_index("ix_files_owner_id", "files", ["owner_id"])
def downgrade() -> None:
"""Remove owner_id column from files table."""
op.drop_index("ix_files_owner_id", table_name="files")
op.drop_column("files", "owner_id")