@dvsa/smc-encounter-schema
Version:
Schemas required for Encounter submission as well as custom validators ## Developing ### Pre-requisites
1 lines • 1.08 kB
JavaScript
;var classValidator=require('class-validator');var s=Object.defineProperty;var i=(e,r)=>s(e,"name",{value:r,configurable:true});function g(e){return r=>{classValidator.registerDecorator({name:"ValidateTachoValue",target:r,propertyName:void 0,options:e,validator:{validate(n,c){let t=c.object;try{let a=t.tachoCheckQuantity;if(a!=null){let o=t.otherDriverDigitacCheckQuantity!=null?t.otherDriverDigitacCheckQuantity:0,u=t.actualDriverDigitacCheckQuantity!=null?t.actualDriverDigitacCheckQuantity:0,h=t.otherDriverPaperChartCheckQuantity!=null?t.otherDriverPaperChartCheckQuantity:0,l=t.actualDriverPaperChartCheckQuantity!=null?t.actualDriverPaperChartCheckQuantity:0;return u+l+h+o===a}return !0}catch(a){return console.error("Failed to validate EncounterReq tacho check quantities",a),false}},defaultMessage(n){return "tachoCheckQuantity must equal the sum of actualDriverDigitacCheckQuantity, actualDriverPaperChartCheckQuantity, otherDriverDigitacCheckQuantity, and otherDriverPaperChartCheckQuantity."}}});}}i(g,"ValidateTachoValue");exports.ValidateTachoValue=g;