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