summary refs log tree commit diff
diff options
context:
space:
mode:
authorMathMan05 <mathmanrm@gmail.com>2026-01-20 11:33:08 -0600
committerRory& <root@rory.gay>2026-01-20 18:38:20 +0100
commit192758e3df43dcd54d280fe6ff088d5197ec9c8b (patch)
treed410139d2c389fbb107003781826b504f6aa2156
parenttsconfig: set srcDir, tsBuildInfoFile (diff)
downloadserver-ts-192758e3df43dcd54d280fe6ff088d5197ec9c8b.tar.xz
fix validations
-rw-r--r--src/api/routes/reporting/index.ts8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/api/routes/reporting/index.ts b/src/api/routes/reporting/index.ts

index f061cdfa..dbbd0004 100644 --- a/src/api/routes/reporting/index.ts +++ b/src/api/routes/reporting/index.ts
@@ -108,7 +108,8 @@ for (const type of Object.values(ReportMenuTypeNames)) { }); } - if (body.breadcrumbs != menuData.breadcrumbs) { + if (body.breadcrumbs.find((_) => !(_ in menuData.nodes))) { + console.log(menuData); throw FieldErrors({ breadcrumbs: { message: `Invalid report menu breadcrumbs.`, @@ -119,8 +120,9 @@ for (const type of Object.values(ReportMenuTypeNames)) { const validateBreadcrumbs = (currentNode: unknown, breadcrumbs: number[]): boolean => { // navigate via node.children ([name, id][]) according to breadcrumbs - let node: { children: [string, number][] } = currentNode as { children: [string, number][] }; - for (const crumb of breadcrumbs) { + let node = currentNode as { children: [string, number][] }; + for (let i = 1; i < breadcrumbs.length; i++) { + const crumb = breadcrumbs[i]; if (!node || !node.children || !Array.isArray(node.children)) return false; const nextNode = node.children.find((child: [string, number]) => child[1] === crumb); if (!nextNode) return false;