diff --git a/src/database/schemas/management/filament.schema.js b/src/database/schemas/management/filament.schema.js index 720ccc4..ea53d0b 100644 --- a/src/database/schemas/management/filament.schema.js +++ b/src/database/schemas/management/filament.schema.js @@ -6,6 +6,7 @@ const { Schema } = mongoose; const filamentSchema = new mongoose.Schema({ _reference: { type: String, default: () => generateId()() }, name: { required: true, type: String }, + vendor: { type: Schema.Types.ObjectId, ref: 'vendor', required: false }, barcode: { required: false, type: String }, url: { required: false, type: String }, image: { required: false, type: Buffer }, diff --git a/src/services/management/filaments.js b/src/services/management/filaments.js index b02bc99..8acf34e 100644 --- a/src/services/management/filaments.js +++ b/src/services/management/filaments.js @@ -39,7 +39,7 @@ export const listFilamentsRouteHandler = async ( search, sort, order, - populate: ['costTaxRate', 'material'], + populate: ['costTaxRate', 'material', 'vendor'], }); if (result?.error) { @@ -98,7 +98,7 @@ export const getFilamentRouteHandler = async (req, res) => { const result = await getObject({ model: filamentModel, id, - populate: ['costTaxRate', 'material'], + populate: ['costTaxRate', 'material', 'vendor'], }); if (result?.error) { logger.warn(`Filament not found with supplied id.`); @@ -117,6 +117,7 @@ export const editFilamentRouteHandler = async (req, res) => { const updateData = { updatedAt: new Date(), name: req.body.name, + vendor: req.body.vendor, barcode: req.body.barcode, url: req.body.url, image: req.body.image, @@ -133,7 +134,7 @@ export const editFilamentRouteHandler = async (req, res) => { id, updateData, user: req.user, - populate: ['costTaxRate', 'material'], + populate: ['costTaxRate', 'material', 'vendor'], }); if (result.error) { @@ -151,6 +152,7 @@ export const editMultipleFilamentsRouteHandler = async (req, res) => { const updates = req.body.map((update) => ({ _id: update._id, name: update.name, + vendor: update.vendor, barcode: update.barcode, url: update.url, image: update.image, @@ -189,6 +191,7 @@ export const newFilamentRouteHandler = async (req, res) => { createdAt: new Date(), updatedAt: new Date(), name: req.body.name, + vendor: req.body.vendor, barcode: req.body.barcode, url: req.body.url, image: req.body.image, diff --git a/src/services/misc/export.js b/src/services/misc/export.js index f633b54..0bbaa5a 100644 --- a/src/services/misc/export.js +++ b/src/services/misc/export.js @@ -13,8 +13,8 @@ export const EXPORT_FILTER_BY_TYPE = { subJob: ['job'], filamentStock: ['filament', 'filament._id', 'filamentSku'], gcodeFile: ['filament', 'filament._id', 'filamentSku'], - filament: ['material', 'material._id', 'name', 'diameter', 'cost'], - filamentSku: ['filament', 'vendor', 'costTaxRate'], + filament: ['material', 'material._id', 'vendor', 'name', 'diameter', 'cost'], + filamentSku: ['filament', 'filament.vendor', 'costTaxRate'], material: ['name', 'tags'], partStock: ['partSku'], partSku: ['part', 'vendor', 'priceTaxRate', 'costTaxRate'],