27 lines
691 B
JavaScript
27 lines
691 B
JavaScript
/**
|
|
* @param {LocalProduct[]} products
|
|
* @returns {LocalProduct[]}
|
|
*/
|
|
function attachRatingObjsToProduct(products) {
|
|
let productIds = products.map((product) => product.bigCommerceId)
|
|
/**@type {ProductRating[]} */
|
|
//@ts-ignore
|
|
let allRatings = context.db.find("rating", {
|
|
filter: {
|
|
status: "approved",
|
|
bigCommerceProductId: { $in: productIds },
|
|
},
|
|
})
|
|
|
|
products.forEach((product, i) => {
|
|
let ratings = allRatings.filter((rating) => rating.bigCommerceProductId === product.bigCommerceId).reverse()
|
|
products[i].ratings = ratings
|
|
})
|
|
|
|
return products
|
|
}
|
|
|
|
module.exports = {
|
|
attachRatingObjsToProduct,
|
|
}
|