UNPKG

@paroicms/server

Version:
34 lines 1.36 kB
import { loadRoutingClusterFromNode } from "../../connector/db-init/load-routing-cluster.queries.js"; import { getTypeNameOf } from "../node/node.queries.js"; import { loadRegularChildrenLanguagesOfNodeIds } from "./cluster-validation.js"; export async function loadRoutingClusterWithAnnotations(siteContext, rootNodeId) { const typeName = await getTypeNameOf(siteContext, rootNodeId); const cluster = await loadRoutingClusterFromNode(siteContext, { nodeId: rootNodeId, typeName, }); const allNodeIds = collectNodeIds(cluster); const childLanguagesMap = await loadRegularChildrenLanguagesOfNodeIds(siteContext.cn, siteContext.siteSchema, allNodeIds); annotateCluster(cluster, childLanguagesMap); return cluster; } function collectNodeIds(node) { const nodeIds = [node.nodeId]; if (node.children) { for (const child of Object.values(node.children)) { nodeIds.push(...collectNodeIds(child)); } } return nodeIds; } function annotateCluster(node, childLanguagesMap) { node.annotations = { hasChildrenInLanguages: childLanguagesMap.get(node.nodeId), }; if (node.children) { for (const child of Object.values(node.children)) { annotateCluster(child, childLanguagesMap); } } } //# sourceMappingURL=routing-cluster.queries.js.map