""" 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]