| Current Path : /home/deltalab/PMS/ims-connector/models/mongoose/ |
| Current File : //home/deltalab/PMS/ims-connector/models/mongoose/warehouse-journal.js |
const mongoose = require('mongoose');
// SCHEMA ============================================
const WarehouseJournalSchema = new mongoose.Schema(
{
date: Date,
warehouseId: {
type: mongoose.Schema.Types.ObjectId,
required: true,
ref: 'Warehouse',
},
warehouseOriginId: {
type: mongoose.Schema.Types.ObjectId,
required: false,
ref: 'Warehouse',
},
partnerId: {
type: mongoose.Schema.Types.ObjectId,
required: true,
ref: 'Partner',
},
productId: {
type: mongoose.Schema.Types.ObjectId,
required: true,
ref: 'Product',
},
variation: Number,
totalQuantity: Number,
reason: {
type: String,
enum: [
'INITIAL',
'INCREASE',
'DECREASE',
'ORDER',
'RETURN',
'DUMMY',
],
},
confirmed: Boolean,
refrigerated: Boolean,
transfer: Boolean, // true if it's a transfer between two warehouses, just for group all items before shipping (automatically assigned on order fulfillment)
omsgid: String, // needed to identify transfers for orders
},
{
timestamps: true,
versionKey: false,
},
);
// MODELS ============================================
const warehouseJournalModel = mongoose.model('WarehouseJournal', WarehouseJournalSchema);
// EXPORTS ===========================================
module.exports = {
warehouseJournalModel,
WarehouseJournalSchema,
};