Your IP : 216.73.216.220


Current Path : /home/deltalab/PMS/sms-connector/models/mongoose/
Upload File :
Current File : //home/deltalab/PMS/sms-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,
};