@dvsa/smc-encounter-schema
Version:
Schemas required for Encounter submission as well as custom validators ## Developing ### Pre-requisites
1 lines • 2.25 kB
JavaScript
;var classValidator=require('class-validator');var y=Object.defineProperty;var A=Object.getOwnPropertyDescriptor;var n=(t,e)=>y(t,"name",{value:e,configurable:true});var o=(t,e,E,r)=>{for(var i=r>1?void 0:r?A(e,E):e,l=t.length-1,c;l>=0;l--)(c=t[l])&&(i=(r?c(e,E,i):c(i))||i);return r&&i&&y(e,E,i),i};var m=class t{static{n(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 p=class{validate(e,E){let r=E.constraints[0],i=m.getInstance(),l=i.getEncounterType(),c=i.getExaminerOfficerType();return r.level===0||r.exceptions?.includes(l)||r.level!==void 0&&r.level>l||r.roles?.length&&!r.roles.includes(c)&&!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((O,C)=>O==null?false:Object.entries(O).every(([x,a])=>typeof a=="string"?a.trim().length>0:a!=null)):true}};n(p,"MandatoryFieldConstraint"),p=o([classValidator.ValidatorConstraint({name:"MandatoryField",async:false})],p);function s(t,e){return (E,r)=>{classValidator.registerDecorator({name:"MandatoryField",target:E.constructor,propertyName:r,constraints:[t],options:e,validator:p});}}n(s,"MandatoryField");var u=class{static{n(this,"CommonDeletion");}description;deletionMarker};o([s({level:4},{groups:["createEncounter"]})],u.prototype,"description",2),o([s({level:4},{groups:["createEncounter"]})],u.prototype,"deletionMarker",2);var f=class extends u{static{n(this,"CommonData");}sequenceNumber};o([s({level:4},{groups:["createEncounter"]})],f.prototype,"sequenceNumber",2);var d=class extends f{static{n(this,"PenaltyNoticeStatus");}code;usageInd};o([s({level:4},{groups:["createEncounter"]})],d.prototype,"code",2),o([s({level:4},{groups:["createEncounter"]})],d.prototype,"usageInd",2);exports.PenaltyNoticeStatus=d;