From 367a16fabbd55864d5947ae21053ab8b721be6c5 Mon Sep 17 00:00:00 2001 From: Thomas Ruoff Date: Wed, 30 Sep 2020 00:28:59 +0200 Subject: [PATCH] remove obsolete existence check for milageStart/End --- db/bill.ts | 34 +++++++++++++++++++++++++--------- 1 file changed, 25 insertions(+), 9 deletions(-) diff --git a/db/bill.ts b/db/bill.ts index c1a31a2..91717c6 100644 --- a/db/bill.ts +++ b/db/bill.ts @@ -28,8 +28,31 @@ const BillSchema = new mongoose.Schema( ref: 'Booking', required: true, }, - milageStart: { type: Number, required: true }, - milageEnd: { type: Number, required: true }, + milageStart: { + type: Number, + required: true, + validate: { + validator: function (v: number) { + const bill = this as BillDocument + + return v <= bill.milageEnd + }, + message: (props) => `${props.value} is bigger than milageEnd!`, + }, + }, + milageEnd: { + type: Number, + required: true, + + validate: { + validator: function (v: number) { + const bill = this as BillDocument + + return v >= bill.milageStart + }, + message: (props) => `${props.value} is smaller than milageStart!`, + }, + }, rate: { type: Number, enum: Object.values(MILAGE_RATES), @@ -54,19 +77,12 @@ const BillSchema = new mongoose.Schema( BillSchema.virtual('milage').get(function () { const bill = this as BillDocument - - if (!bill.milageStart || !bill.milageEnd) { - return null - } return bill.milageEnd - bill.milageStart }) BillSchema.virtual('total').get(function () { const bill = this as BillDocument - if (!bill.milageStart || !bill.milageEnd) { - return null - } const milageCosts = bill.milage * bill.rate const additionalCostSum = bill.additionalCosts .map(({ value }) => value)