UNPKG

@dvsa/smc-encounter-schema

Version:

Schemas required for Encounter submission as well as custom validators ## Developing ### Pre-requisites

1 lines 2.87 kB
'use strict';var classValidator=require('class-validator');var R=Object.defineProperty;var O=Object.getOwnPropertyDescriptor;var s=(t,e)=>R(t,"name",{value:e,configurable:true});var E=(t,e,i,r)=>{for(var n=r>1?void 0:r?O(e,i):e,T=t.length-1,l;T>=0;T--)(l=t[T])&&(n=(r?l(e,i,n):l(n))||n);return r&&n&&R(e,i,n),n};var m=class t{static{s(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 u=class{validate(e,i){let r=i.constraints[0],n=m.getInstance(),T=n.getEncounterType(),l=n.getExaminerOfficerType();return r.level===0||r.exceptions?.includes(T)||r.level!==void 0&&r.level>T||r.roles?.length&&!r.roles.includes(l)&&!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((N,L)=>N==null?false:Object.entries(N).every(([U,f])=>typeof f=="string"?f.trim().length>0:f!=null)):true}};s(u,"MandatoryFieldConstraint"),u=E([classValidator.ValidatorConstraint({name:"MandatoryField",async:false})],u);function p(t,e){return (i,r)=>{classValidator.registerDecorator({name:"MandatoryField",target:i.constructor,propertyName:r,constraints:[t],options:e,validator:u});}}s(p,"MandatoryField");var o=class{static{s(this,"AxlesWeight");}axleNumber;actualWghtAmount;permittedWeight;designWeight;offsideWeight;nearsideWeight;cmpnstngAxleCode};E([p({level:4},{groups:["createEncounter"]})],o.prototype,"axleNumber",2),E([classValidator.Min(0,{groups:["createEncounter"]}),classValidator.Max(99999,{groups:["createEncounter"]}),p({level:4},{groups:["createEncounter"]})],o.prototype,"actualWghtAmount",2),E([classValidator.Min(0,{groups:["createEncounter"]}),classValidator.Max(99999,{groups:["createEncounter"]}),p({level:4},{groups:["createEncounter"]})],o.prototype,"permittedWeight",2),E([classValidator.Min(0,{groups:["createEncounter"]}),classValidator.Max(99999,{groups:["createEncounter"]}),p({level:4},{groups:["createEncounter"]})],o.prototype,"designWeight",2),E([classValidator.Min(0,{groups:["createEncounter"]}),classValidator.Max(99999,{groups:["createEncounter"]}),p({level:4},{groups:["createEncounter"]})],o.prototype,"offsideWeight",2),E([classValidator.Min(0,{groups:["createEncounter"]}),classValidator.Max(99999,{groups:["createEncounter"]}),p({level:4},{groups:["createEncounter"]})],o.prototype,"nearsideWeight",2),E([classValidator.IsOptional()],o.prototype,"cmpnstngAxleCode",2);exports.AxlesWeight=o;