UNPKG

@ministryofjustice/hmpps-digital-prison-reporting-frontend

Version:

The Digital Prison Reporting Frontend contains templates and code to help display data effectively in UI applications.

46 lines (43 loc) 1.77 kB
import CatalogueListUtils from '../catalogue-list/utils.js'; import localsHelper from '../../../utils/localsHelper.js'; const initCatalogue = async ({ res, services, req }) => { const data = await CatalogueListUtils.getReportsList(res, req, services); const currentUrl = req?.originalUrl || '/'; const { token, bookmarkingEnabled, dprUser, csrfToken } = localsHelper.getValues(res); const productCollections = (await services.productCollectionService.getProductCollections(token))?.map(collection => ({ value: collection.id, text: collection.name, })); if (productCollections && productCollections.length > 0) { productCollections.unshift({ value: 'RESET', text: 'Full catalogue' }); } const collectionId = req ? req.session['currentCollectionId'] : await services.productCollectionStoreService.getSelectedProductCollectionId(dprUser.id); const selectedProductCollection = req ? req.session['currentCollection'] : collectionId && (await services.productCollectionService.getProductCollection(token, collectionId)); const { productCollectionEndpoint } = localsHelper.getRouteLocals(res); return { id: data.id, list: { head: data.head, rows: data.rows, }, filters: { productCollectionInfo: { productCollections, formAction: productCollectionEndpoint, ...(selectedProductCollection && { selectedProductCollection }), }, csrfToken, currentUrl, features: { bookmarkingEnabled }, }, }; }; var utils = { initCatalogue, }; export { utils as default, initCatalogue }; //# sourceMappingURL=utils.js.map