1
0
mirror of synced 2025-12-19 18:10:59 -05:00

Support data-driven tables (#57806)

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
This commit is contained in:
Sarah Schneider
2025-10-09 13:54:59 -04:00
committed by GitHub
parent 943b2e1cbb
commit 51c65e3b86
4 changed files with 140 additions and 0 deletions

View File

@@ -0,0 +1,26 @@
import type { NextFunction, Response } from 'express'
import { ExtendedRequest } from '@/types'
import { getDeepDataByLanguage } from '@/data-directory/lib/get-data'
let tablesCache: Record<string, unknown> | null = null
// Lazy loading function
const getTables = () => {
if (!tablesCache) {
// Keep product-name-heavy reference tables in English only for now
tablesCache = getDeepDataByLanguage('tables', 'en')
}
return tablesCache
}
/**
* Middleware that loads data-driven table content into the request context.
* Tables are sourced from YAML files in data/tables/ directory.
*/
export default async function dataTables(req: ExtendedRequest, res: Response, next: NextFunction) {
if (!req.context) throw new Error('request not contextualized')
req.context.tables = getTables()
return next()
}