@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
JavaScript
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