import { Schema } from 'mongoose' import { getDays, dateFormat } from '../../helpers/date' export const BookerSchema = new Schema( { name: { type: String, required: true }, email: { type: String, required: true, unique: true, minlength: 5 }, street: { type: String, required: true }, zip: { type: String, required: true }, city: { type: String, required: true }, }, { timestamps: true } ) export const BookingSchema = new Schema( { booker: { type: Schema.Types.ObjectId, ref: 'Booker', required: true }, startDate: { type: Date, required: true, get: dateFormat, min: new Date(), }, endDate: { type: Date, required: false, get: dateFormat, min: new Date() }, status: { type: String, enum: ['requested', 'confirmed', 'rejected'], required: true, default: 'requested', }, purpose: { type: String, required: false }, org: { type: String, required: false }, destination: { type: String, required: false }, }, { timestamps: true, toJSON: { virtuals: true, getters: true }, toObject: { virtuals: true, getters: true }, } ) BookingSchema.virtual('days').get(function () { return getDays({ startDate: this.startDate, endDate: this.endDate }) })