farmcontrol-ws/src/database/schemas/management/courierservice.schema.js
Tom Butcher 63c4471652
All checks were successful
farmcontrol/farmcontrol-ws/pipeline/head This commit looks good
Updated models.
2026-07-18 13:36:04 +01:00

34 lines
1.3 KiB
JavaScript

import mongoose from 'mongoose';
import { generateId } from '../../utils.js';
const { Schema } = mongoose;
const courierServiceSchema = new mongoose.Schema(
{
_reference: { type: String, default: () => generateId()() },
name: { required: true, type: String },
courier: { type: Schema.Types.ObjectId, ref: 'courier', required: true },
active: { required: true, type: Boolean },
tracked: { required: true, type: Boolean },
deliveryTime: { required: true, type: Number },
website: { required: false, type: String },
cost: { required: true, type: Number, default: 0 },
costTaxRate: { type: Schema.Types.ObjectId, ref: 'taxRate', required: false },
costWithTax: { required: false, type: Number },
additionalCost: { required: false, type: Number },
additionalCostWithTax: { required: false, type: Number },
shippingCurrency: { required: true, type: String, default: 'GBP' },
international: { required: true, type: Boolean, default: false },
},
{ timestamps: true }
);
courierServiceSchema.index({ name: 'text', website: 'text' });
courierServiceSchema.virtual('id').get(function () {
return this._id;
});
courierServiceSchema.set('toJSON', { virtuals: true });
export const courierServiceModel = mongoose.model('courierService', courierServiceSchema);