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