"""FlowDeck — Collections : bases de données façon Notion. Découpe A28 : l'ancien `collections.py` (2 622 lignes, 53 routes) est devenu ce package — un module par concern, helpers dans `_common` (auth/permissions/validation) et `_renderers` (rendus HTML des vues). Ré-exports : automations importe `_validate_page_properties`, les tests importent les helpers de graphes. """ from __future__ import annotations import logging from fastapi import APIRouter from . import ( # ordre = ordre d'enregistrement d'origine boards, crud, dashboard_views, data_api, index_page, linked, meta, pages, properties, structure, task_db, views, ) from ._common import _validate_page_properties # noqa: F401 from ._renderers import ( # noqa: F401 — ré-exports tests _chart_aggregate, _chart_values, _fmt_number, _render_chart, ) logger = logging.getLogger(__name__) router = APIRouter() # `task_db` est enregistré **en premier** : sa route statique # `GET /db/task-dbs/api` serait sinon capturée par `data_api`'s # `GET /db/{collection_id}/api` (`collection_id="task-dbs"` → 422). # `index_page` (la page HTML `/db`) vient ensuite, avant tout module # déclarant `/db/{collection_id}` — sinon la racine serait capturée en 422. for _mod in ( task_db, index_page, crud, pages, boards, meta, properties, views, structure, linked, dashboard_views, data_api, ): router.include_router(_mod.router) __all__ = [ "router", "_chart_aggregate", "_chart_values", "_fmt_number", "_render_chart", "_validate_page_properties", ]