diff --git a/src/database/schemas/management/filament.schema.js b/src/database/schemas/management/filament.schema.js index 1570a87..1642abc 100644 --- a/src/database/schemas/management/filament.schema.js +++ b/src/database/schemas/management/filament.schema.js @@ -25,19 +25,10 @@ filamentSchema.virtual('id').get(function () { filamentSchema.set('toJSON', { virtuals: true }); filamentSchema.statics.recalculate = async function (filament, user) { - const orderItemModel = mongoose.model('orderItem'); - const itemId = filament._id; - const draftOrderItems = await orderItemModel - .find({ - 'state.type': 'draft', - itemType: 'filament', - item: itemId, - }) - .populate('order') - .lean(); - - for (const orderItem of draftOrderItems) { - await orderItemModel.recalculate(orderItem, user); + const filamentSkuModel = mongoose.model('filamentSku'); + const skus = await filamentSkuModel.find({ filament: filament._id }).select('_id').lean(); + for (const sku of skus) { + await filamentSkuModel.recalculate(sku, user); } }; diff --git a/src/routes/management/filamentskus.js b/src/routes/management/filamentskus.js index 285a6ab..e066d0f 100644 --- a/src/routes/management/filamentskus.js +++ b/src/routes/management/filamentskus.js @@ -16,7 +16,7 @@ import { router.get('/', isAuthenticated, (req, res) => { const { page, limit, property, search, sort, order } = req.query; - const allowedFilters = ['_id', 'barcode', 'filament', 'filament._id', 'name', 'color', 'cost']; + const allowedFilters = ['_id', 'barcode', 'filament', 'filament._id', 'name', 'color', 'cost', 'costWithTax']; const filter = getFilter(req.query, allowedFilters); listFilamentSkusRouteHandler(req, res, page, limit, property, filter, search, sort, order); }); diff --git a/src/services/management/filamentskus.js b/src/services/management/filamentskus.js index 3983312..7ba9667 100644 --- a/src/services/management/filamentskus.js +++ b/src/services/management/filamentskus.js @@ -35,7 +35,7 @@ export const listFilamentSkusRouteHandler = async ( search, sort, order, - populate: ['costTaxRate'], + populate: [{ path: 'filament', populate: 'costTaxRate' }, 'costTaxRate'], }); if (result?.error) {