UNPKG

ecommerce-express-utils

Version:

A collection of handy express utilities for ecommerce

30 lines (26 loc) 857 B
import asyncHandler from 'express-async-handler'; const getAllDocuments = async (model) => { try { return await model.find(); } catch (error) { throw new Error(error.message); } }; const getWebsiteContents = ({ models }) => asyncHandler(async (req, res) => { try { const websiteContents = await Promise.all( Object.entries(models).map(async ([key, model]) => { const documents = await getAllDocuments(model); return { key, documents }; }) ); const result = websiteContents.reduce((acc, { key, documents }) => { acc[key] = documents; return acc; }, {}); res.status(200).json(result); } catch (error) { res.status(400).json({ error: error.message }); } }); export { getWebsiteContents };