"""FlowDeck — Board : Kanban Notion-style + multi-vues. Découpe A28 : l'ancien `board.py` (2 101 lignes, 53 routes) est devenu ce package — un module par concern, helpers/constantes dans `_common`. Ré-exportés (importateurs inchangés) : api.py (STATUS_COLORS, STATUS_LABELS, _issue_column, _map_issue_to_card), webhooks (_issue_column), dashboard (_sidebar_data, _load_workspace_pages, _load_shared_sidebar_pages, _file_icon), tests (_build_page_tree, _REPO_REF_RE, _unfurl_repo). """ from __future__ import annotations import logging from fastapi import APIRouter from . import ( # ordre = ordre d'enregistrement d'origine board_views, embed, import_, library, page_api, page_media, page_ops, pages, sharing, sync, synced, wiki, ) from ._common import ( # noqa: F401 — ré-exports _REPO_REF_RE, AI_KEYWORD_COLORS, STATUS_COLORS, STATUS_LABELS, _apply_filters, _apply_sorts, _block_texts, _build_page_tree, _create_page_from_markdown, _ensure_block_ids, _ensure_page_editable, _extract_ai_keywords, _file_icon, _get_project_properties, _issue_column, _load_children, _load_shared_sidebar_pages, _load_workspace_pages, _local_workspaces_for_user, _map_issue_to_card, _record_version, _sidebar_data, _store_uploaded_file, _unfurl_repo, _upload_root, _ws_id_for, asyncio_get_labels, ) logger = logging.getLogger(__name__) router = APIRouter() for _mod in ( wiki, page_api, library, sharing, synced, board_views, pages, page_media, import_, embed, page_ops, sync, ): router.include_router(_mod.router) __all__ = [ "router", "AI_KEYWORD_COLORS", "STATUS_COLORS", "STATUS_LABELS", "_REPO_REF_RE", "_apply_filters", "_apply_sorts", "_block_texts", "_build_page_tree", "_create_page_from_markdown", "_ensure_block_ids", "_ensure_page_editable", "_extract_ai_keywords", "_file_icon", "_get_project_properties", "_issue_column", "_load_children", "_load_shared_sidebar_pages", "_load_workspace_pages", "_local_workspaces_for_user", "_map_issue_to_card", "_record_version", "_sidebar_data", "_store_uploaded_file", "_unfurl_repo", "_upload_root", "_ws_id_for", "asyncio_get_labels", ]