UNPKG

@dvsa/smc-encounter-schema

Version:

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

1 lines 2.68 kB
'use strict';var classValidator=require('class-validator');var g=Object.defineProperty;var y=Object.getOwnPropertyDescriptor;var o=(i,e)=>g(i,"name",{value:e,configurable:true});var t=(i,e,l,r)=>{for(var s=r>1?void 0:r?y(e,l):e,u=i.length-1,a;u>=0;u--)(a=i[u])&&(s=(r?a(e,l,s):a(s))||s);return r&&s&&g(e,l,s),s};var m=class i{static{o(this,"CurrentEncounterLevel");}static instance;level;officerType;requestType;constructor(){this.level=1,this.officerType="ANY",this.requestType="C";}static getInstance(){return i.instance||(i.instance=new i),i.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,l){let r=l.constraints[0],s=m.getInstance(),u=s.getEncounterType(),a=s.getExaminerOfficerType();return r.level===0||r.exceptions?.includes(u)||r.level!==void 0&&r.level>u||r.roles?.length&&!r.roles.includes(a)&&!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,v)=>O==null?false:Object.entries(O).every(([L,c])=>typeof c=="string"?c.trim().length>0:c!=null)):true}};o(p,"MandatoryFieldConstraint"),p=t([classValidator.ValidatorConstraint({name:"MandatoryField",async:false})],p);function n(i,e){return (l,r)=>{classValidator.registerDecorator({name:"MandatoryField",target:l.constructor,propertyName:r,constraints:[i],options:e,validator:p});}}o(n,"MandatoryField");var f=class{static{o(this,"CommonDeletion");}description;deletionMarker};t([n({level:4},{groups:["createEncounter"]})],f.prototype,"description",2),t([n({level:4},{groups:["createEncounter"]})],f.prototype,"deletionMarker",2);var T=class extends f{static{o(this,"CommonCode");}code;name};t([n({level:4},{groups:["createEncounter"]})],T.prototype,"code",2),t([n({level:4},{groups:["createEncounter"]})],T.prototype,"name",2);var E=class extends T{static{o(this,"EncounterReason");}sequenceNumber;fkCtpCheckType;pg35EcRequired;useOffenceFlow;shortCode;version};t([n({level:2},{groups:["createEncounter"]})],E.prototype,"sequenceNumber",2),t([n({level:2},{groups:["createEncounter"]})],E.prototype,"fkCtpCheckType",2),t([n({level:2},{groups:["createEncounter"]})],E.prototype,"pg35EcRequired",2),t([n({level:2},{groups:["createEncounter"]})],E.prototype,"useOffenceFlow",2),t([n({level:2},{groups:["createEncounter"]})],E.prototype,"shortCode",2),t([n({level:2},{groups:["createEncounter"]})],E.prototype,"version",2);exports.EncounterReason=E;