remove obsolete existence check for milageStart/End

This commit is contained in:
Thomas Ruoff
2020-09-30 00:28:59 +02:00
committed by Thomas Ruoff
parent 2e73875d37
commit 367a16fabb

View File

@@ -28,8 +28,31 @@ const BillSchema = new mongoose.Schema<BillDocument>(
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<BillDocument>(
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)