Your IP : 216.73.217.95


Current Path : /home/deltalab/PMS/ims-connector/models/mongoose/
Upload File :
Current File : //home/deltalab/PMS/ims-connector/models/mongoose/carrier.js

const mongoose = require('mongoose');
const extendSchema = require('mongoose-extend-schema');

// SCHEMA ============================================
/**
 * The carrier basic description
 * Used in shipment
 */
const CarrierBaseSchema = new mongoose.Schema(
  {
    smsid: String,
    name: String,
    service: String,
    refrigerated: { type: Boolean, required: false, default: false },
    channels: [{ type: mongoose.Schema.Types.ObjectId, required: false, ref: 'Channel' }],
  },
  {
    _id: false,
  },
);

/**
 * Complete carrier description
 */
const CarrierSchema = new mongoose.Schema(
  {
    description: String,
    partnerId: {
      type: mongoose.Schema.Types.ObjectId,
      required: true,
      ref: 'Partner',
    },
  },
  {
    timestamps: true,
    versionKey: false,
  },
).add(CarrierBaseSchema);

// MODELS ============================================
const carrierModel = mongoose.model('Carrier', CarrierSchema);
const carrierBaseModel = mongoose.model('CarrierBase', CarrierBaseSchema);

// EXPORTS ===========================================
module.exports = {
  CarrierBaseSchema,
  CarrierSchema,
  carrierBaseModel,
  carrierModel,
}