Files
mono/shared/containers.py
giles f42042ccb7 Monorepo: consolidate 7 repos into one
Combines shared, blog, market, cart, events, federation, and account
into a single repository. Eliminates submodule sync, sibling model
copying at build time, and per-app CI orchestration.

Changes:
- Remove per-app .git, .gitmodules, .gitea, submodule shared/ dirs
- Remove stale sibling model copies from each app
- Update all 6 Dockerfiles for monorepo build context (root = .)
- Add build directives to docker-compose.yml
- Add single .gitea/workflows/ci.yml with change detection
- Add .dockerignore for monorepo build context
- Create __init__.py for federation and account (cross-app imports)
2026-02-24 19:44:17 +00:00

21 lines
723 B
Python

"""
Generic container concept — replaces hard-wired post_id FKs
with container_type + container_id soft references.
"""
from __future__ import annotations
class ContainerType:
PAGE = "page"
# Future: GROUP = "group", MARKET = "market", etc.
def container_filter(model, container_type: str, container_id: int):
"""Return SQLAlchemy filter clauses for a container reference."""
return [model.container_type == container_type, model.container_id == container_id]
def content_filter(model, content_type: str, content_id: int):
"""Return SQLAlchemy filter clauses for a content reference (e.g. CalendarEntryContent)."""
return [model.content_type == content_type, model.content_id == content_id]