20 lines
808 B
JavaScript
20 lines
808 B
JavaScript
const mongoose = require('mongoose');
|
|
|
|
const inventoryHistorySchema = new mongoose.Schema({
|
|
product: { type: mongoose.Schema.Types.ObjectId, ref: 'Product', required: true },
|
|
sku: { type: String, required: true },
|
|
changeType: {
|
|
type: String,
|
|
enum: ['Order Placed', 'Order Cancelled', 'Manual Adjustment', 'Restock', 'Returned Product'],
|
|
required: true
|
|
},
|
|
quantityChanged: { type: Number, required: true }, // positive for addition, negative for deduction
|
|
previousStock: { type: Number, required: true },
|
|
newStock: { type: Number, required: true },
|
|
reason: { type: String, default: '' },
|
|
performedBy: { type: mongoose.Schema.Types.ObjectId, ref: 'User', default: null }
|
|
}, { timestamps: true });
|
|
|
|
module.exports = mongoose.model('InventoryHistory', inventoryHistorySchema);
|
|
|