@dvsa/smc-encounter-schema
Version:
Schemas required for Encounter submission as well as custom validators ## Developing ### Pre-requisites
1 lines • 2.53 kB
JavaScript
;var classValidator=require('class-validator');var N=Object.defineProperty;var g=Object.getOwnPropertyDescriptor;var o=(t,e)=>N(t,"name",{value:e,configurable:true});var n=(t,e,E,r)=>{for(var s=r>1?void 0:r?g(e,E):e,p=t.length-1,f;p>=0;p--)(f=t[p])&&(s=(r?f(e,E,s):f(s))||s);return r&&s&&N(e,E,s),s};var T=class t{static{o(this,"CurrentEncounterLevel");}static instance;level;officerType;requestType;constructor(){this.level=1,this.officerType="ANY",this.requestType="C";}static getInstance(){return t.instance||(t.instance=new t),t.instance}getEncounterType(){return this.level}setEncounterType(e){this.level=e;}getExaminerOfficerType(){return this.officerType}setExaminerOfficerType(e){this.officerType=e;}getRequestType(){return this.requestType}setRequestType(e){this.requestType=e;}isDeletedEncounter(){return this.requestType==="D"}};var l=class{validate(e,E){let r=E.constraints[0],s=T.getInstance(),p=s.getEncounterType(),f=s.getExaminerOfficerType();return r.level===0||r.exceptions?.includes(p)||r.level!==void 0&&r.level>p||r.roles?.length&&!r.roles.includes(f)&&!r.roles.includes("ANY")?true:e==null?false:typeof e=="string"?r.allowEmpty?true:e.trim().length>0:Array.isArray(e)?e.length===0?false:e.every((A,d)=>A==null?false:Object.entries(A).every(([v,m])=>typeof m=="string"?m.trim().length>0:m!=null)):true}};o(l,"MandatoryFieldConstraint"),l=n([classValidator.ValidatorConstraint({name:"MandatoryField",async:false})],l);function i(t,e){return (E,r)=>{classValidator.registerDecorator({name:"MandatoryField",target:E.constructor,propertyName:r,constraints:[t],options:e,validator:l});}}o(i,"MandatoryField");var a=class{static{o(this,"CommonDeletion");}description;deletionMarker};n([i({level:4},{groups:["createEncounter"]})],a.prototype,"description",2),n([i({level:4},{groups:["createEncounter"]})],a.prototype,"deletionMarker",2);var c=class extends a{static{o(this,"CommonData");}sequenceNumber};n([i({level:4},{groups:["createEncounter"]})],c.prototype,"sequenceNumber",2);var u=class extends c{static{o(this,"RoadsideVehicleType");}vehicleType;key;tractorIndicator;dcaPart;useOffenceFlow};n([i({level:4},{groups:["createEncounter"]})],u.prototype,"vehicleType",2),n([i({level:4},{groups:["createEncounter"]})],u.prototype,"key",2),n([i({level:4},{groups:["createEncounter"]})],u.prototype,"tractorIndicator",2),n([i({level:4},{groups:["createEncounter"]})],u.prototype,"dcaPart",2),n([i({level:4},{groups:["createEncounter"]})],u.prototype,"useOffenceFlow",2);exports.RoadsideVehicleType=u;