@dvsa/smc-encounter-schema
Version:
Schemas required for Encounter submission as well as custom validators ## Developing ### Pre-requisites
1 lines • 959 B
JavaScript
;var classValidator=require('class-validator');var u=Object.defineProperty;var a=(r,t)=>u(r,"name",{value:t,configurable:true});function T(r){return t=>{classValidator.registerDecorator({name:"ValidateTrailerObject",target:t,propertyName:"trailer",options:r,validator:{validate(o,l){let e=l.object;if(!e||!e.vehicleId||!e.nationality?.irlCode||!e.vehicleIdType?.shortCode||!e.roadsideVehicleType?.key)return false;let s=e.vehicleId.toLowerCase(),n=e.vehicleIdType.shortCode.toLowerCase(),d=e.nationality.irlCode.toLowerCase(),c=e.roadsideVehicleType.tractorIndicator?.toUpperCase()==="N",i=0;return /^(tin|tra)+$/.test(n)||i++,c||i++,f(d,n,s)||i++,i===0},defaultMessage(o){return "Trailer object validation failed: invalid VehicleId, VehicleIdType, or RoadsideVehicleType."}}});}}a(T,"ValidateTrailerObject");function f(r,t,o){return t==="tin"||t==="tra"?/^[a-z0-9]+$/i.test(o):false}a(f,"checkVehicleIdentifier");exports.ValidateTrailerObject=T;