@decaf-ts/db-decorators 0.8.22 → 0.8.24

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -36,7 +36,7 @@ The db-decorators library provides a comprehensive set of TypeScript decorators
36
36
 
37
37
  Documentation available [here](https://decaf-ts.github.io/db-decorators/)
38
38
 
39
- Minimal size: 8.2 KB kb gzipped
39
+ Minimal size: 8.1 KB kb gzipped
40
40
 
41
41
 
42
42
 
@@ -1,2 +1,2 @@
1
- var e,t;e=this,t=function(e,t,r,a,o,n){"use strict";const s={REFLECT:r.ModelKeys.MODEL+".persistence.",REPOSITORY:"repository",CLASS:"_class",ID:"id",INDEX:"index",UNIQUE:"unique",SERIALIZE:"serialize",READONLY:"readonly",TIMESTAMP:"timestamp",TRANSIENT:"transient",HASH:"hash",COMPOSED:"composed",GENERATED:"generated",VERSION:"version",ORIGINAL:"__originalObj"},i="_",c="dd/MM/yyyy HH:mm:ss:S",l={ID:{INVALID:"This Id is invalid",REQUIRED:"The Id is mandatory"},READONLY:{INVALID:"This cannot be updated"},TIMESTAMP:{REQUIRED:"Timestamp is Mandatory",DATE:"The Timestamp must the a valid date",INVALID:"This value must always increase"}},d={REFLECT:"db.update.validation.",TIMESTAMP:s.TIMESTAMP,READONLY:s.READONLY};e.ReadOnlyValidator=class extends r.Validator{constructor(){super(l.READONLY.INVALID)}hasErrors(e,...t){}updateHasErrors(e,t,a){if(void 0!==e)return r.isEqual(e,t)?void 0:this.getMessage(a||this.message)}},e.ReadOnlyValidator=a.__decorate([r.validator(d.READONLY),a.__metadata("design:paramtypes",[])],e.ReadOnlyValidator),e.TimestampValidator=class extends r.Validator{constructor(){super(l.TIMESTAMP.INVALID)}hasErrors(e,...t){}updateHasErrors(e,t,r){if(void 0!==e){r=r||this.getMessage(r||this.message);try{e=new Date(e),t=new Date(t)}catch(e){return r}return e>t?void 0:r}}},e.TimestampValidator=a.__decorate([r.validator(d.TIMESTAMP),a.__metadata("design:paramtypes",[])],e.TimestampValidator);class p extends r.Validator{constructor(e=r.DEFAULT_ERROR_MESSAGES.DEFAULT,...t){super(e,...t)}}var u,f,y;r.Validation.updateKey=e=>d.REFLECT+e,e.OperationKeys=void 0,(u=e.OperationKeys||(e.OperationKeys={})).REFLECT="decaf.model.db.operations.",u.CREATE="create",u.READ="read",u.UPDATE="update",u.DELETE="delete",u.ON="on.",u.AFTER="after.",u.BLOCK="block",e.ModelOperations=void 0,(f=e.ModelOperations||(e.ModelOperations={})).OPERATIONS="operations",f.RELATIONS="relations",e.BulkCrudOperationKeys=void 0,(y=e.BulkCrudOperationKeys||(e.BulkCrudOperationKeys={})).CREATE_ALL="createAll",y.READ_ALL="readAll",y.UPDATE_ALL="updateAll",y.DELETE_ALL="deleteAll";const h={CREATE:[e.OperationKeys.CREATE],READ:[e.OperationKeys.READ],UPDATE:[e.OperationKeys.UPDATE],DELETE:[e.OperationKeys.DELETE],CREATE_UPDATE:[e.OperationKeys.CREATE,e.OperationKeys.UPDATE],READ_CREATE:[e.OperationKeys.READ,e.OperationKeys.CREATE],ALL:[e.OperationKeys.CREATE,e.OperationKeys.READ,e.OperationKeys.UPDATE,e.OperationKeys.DELETE]};class g{constructor(){this.cache={}}get(e,t,r,a){a=a||[];const o=this.resolveOwner(e),n=this.resolveTargetName(e,o);if(n){const e=this.selectHandlers(n,t,r,o);e?.length&&a.unshift(...e)}else if("string"==typeof e||e===Object.prototype||Object.getPrototypeOf(e)===Object.prototype)return a;let s=Object.getPrototypeOf(e);return s?(s.constructor&&s.constructor.name===n&&(s=Object.getPrototypeOf(s)),s?this.get(s,t,r,a):a):a}register(e,t,r,a){const o=r.constructor.name,n=g.getHandlerName(e),s=this.resolveFlavour(r.constructor);this.cache[o]||(this.cache[o]={}),this.cache[o][a]||(this.cache[o][a]={}),this.cache[o][a][t]||(this.cache[o][a][t]={}),this.cache[o][a][t][s]||(this.cache[o][a][t][s]={}),this.cache[o][a][t][s][n]||(this.cache[o][a][t][s][n]=e)}resolveOwner(e){if(e&&"string"!=typeof e)return"function"==typeof e?e:e.constructor}resolveTargetName(e,t){return"string"==typeof e?e:t?.name}resolveFlavour(e){if(!e)return t.Decoration.defaultFlavour;try{return t.Metadata.flavourOf(e)}catch{return t.Decoration.defaultFlavour}}selectHandlers(e,r,a,o){const n=this.cache[e]?.[r]?.[a];if(!n)return;const s=n[this.resolveFlavour(o)]||n[t.Decoration.defaultFlavour]||this.firstBucket(n);if(!s)return;const i=Object.values(s);return i.length?i:void 0}firstBucket(e){for(const t of Object.values(e))if(t&&Object.keys(t).length)return t}static getHandlerName(e){return e.name?e.name:r.Hashing.hash(e.toString())}}class E{constructor(){}static getHandlerName(e){return g.getHandlerName(e)}static key(t){return e.OperationKeys.REFLECT+t}static get(e,t,r){return E.registry.get(e,t,r)}static getOpRegistry(){return E.registry||(E.registry=new g),E.registry}static register(e,t,r,a){E.getOpRegistry().register(e,t,r,a)}}class m extends Error{constructor(e,t,r){if(t instanceof m)return t;super(`[${e}][${r}] ${t instanceof Error?t.message:t}`),this.code=r,t instanceof Error&&(this.stack=t.stack)}get message(){return`[${this.name}] ${this.code} | ${super.message.replaceAll(/\[.*?Error\]\[\d+\]\s/g,"")}`}toString(){return this.message}}class O extends m{constructor(e,t=O.name,r=999){super(t,e,r)}}class A extends m{constructor(e,t=A.name,r=400){super(t,e,r)}}class T extends A{constructor(e){super(e,T.name,422)}}class M extends m{constructor(e,t=M.name,r=500){super(t,e,r)}}class w extends M{constructor(e){super(e,w.name,500)}}class P extends A{constructor(e){super(e,P.name,404)}}class D extends A{constructor(e){super(e,D.name,409)}}const R={priority:50},v=(e,t,r,a)=>{const o=r.constructor.name;if(!o)throw new M("Could not determine model class");a=a||{},e.props.handlers[o]&&e.props.handlers[o][t]&&(a={...e.props.handlers[o][t],...a});let n=Object.getPrototypeOf(r);return n===Object.prototype?a:(n.constructor.name===o&&(n=Object.getPrototypeOf(n)),v(e,t,n,a))};function b(e,t,r){const a=[];for(const o in t){const n=t[o];for(const t of n){const{key:n}=t,s=E.get(e,o,r+n);if(!s||!s.length)throw new M(`Could not find registered handler for the operation ${r+n} under property ${o}`);const i=v(t,o,e);if(!i)throw new M("Missing handler arguments for decorators");for(const e of s){const t=E.getHandlerName(e),r=i[t];if(!r)throw new M("Missing handler arguments for handler "+t);const n=r.data;a.push({handler:e,data:[n],prop:[o]})}}}return a}function S(e){const t=e.reduce(((e,t)=>{if(!t||!t.data||!t.prop)throw new M("Missing decorator properties or data");if(!t.data[0].group)return e.set(Symbol(),t),e;const r=t.data[0].group;if(e.has(r)){const a=e.get(r);e.set(r,{handler:a.handler,data:[...a.data,...t.data],prop:[...a.prop,...t.prop]})}else e.set(r,{...t});return e}),new Map),r=Array.from(t.values());return r.forEach((e=>{const t=e.data.map(((t,r)=>({data:t,prop:e.prop[r]})));t.sort(((e,t)=>(e.data.groupPriority??50)-(t.data.groupPriority??50))),e.data=t.map((e=>e.data)),e.prop=t.map((e=>e.prop))})),r}function K(e){return e.sort(((e,t)=>(e.data[0].priority??50)-(t.data[0].priority??50))),e}function L(e,t,r){return I(h.CREATE_UPDATE,e,t,r)}function N(e,t,r){return I(h.UPDATE,e,t,r)}function x(e,t,r){return I(h.CREATE,e,t,r)}function I(t=h.ALL,r,a,o){return k(e.OperationKeys.ON,t,r,a,o)}function C(t=h.ALL,r,a,o){return k(e.OperationKeys.AFTER,t,r,a,o)}function k(r,a=h.ALL,o,n,s=R){return(i,c)=>{const l=i.constructor.name,d=a.reduce(((a,d)=>{const p=r+d;let u=t.Metadata.readOperation(i.constructor,c,p);u||(u={operation:d,handlers:{}});const f=E.getHandlerName(o);let y=s;if(n){if(Object.keys(n).filter((e=>e in s)).length>0)throw new M("Unable to merge groupSort into dataToAdd due to overlaping keys");y={...s,...n}}return u.handlers[l]&&u.handlers[l][c]&&f in u.handlers[l][c]||(u.handlers[l]=u.handlers[l]||{},u.handlers[l][c]=u.handlers[l][c]||{},u.handlers[l][c][f]={data:y},a.push(((e,t)=>(r,a)=>{E.register(t,e,r,a)})(p,o),t.propMetadata(t.Metadata.key(e.ModelOperations.OPERATIONS,c,p),u))),a}),[]);return t.apply(...d)(i,c)}}function U(e,r){return(...a)=>t.metadata(e,{args:a,handler:r})}function j(e){return(r,a)=>t.propMetadata(t.Metadata.key(s.GENERATED,a),e||!0)(r,a)}function V(e,t,a,o,n){if(void 0===o[a])return;const s=r.Hashing.hash(o[a]);n&&o[a]===s||(o[a]=s)}function F(){return t.apply(L(V),t.propMetadata(s.HASH,{}))}function H(e,t,a,o){try{const{args:e,type:n,prefix:s,suffix:i,separator:c,filterEmpty:l,hashResult:d}=t,p=e.map((t=>{if(!(t in o))throw new M(`Property ${t} not found to compose from`);if("keys"===n)return t;if(void 0===o[t]){if(l){if(!Array.isArray(l))return;if(l.includes(t))return}throw new M(`Property ${e} does not contain a value to compose from`)}return o[t].toString()})).filter((e=>!l||!!e));s&&p.unshift(s),i&&p.push(i);const u=p.map((e=>"object"==typeof e&&"[object Object]"===e.toString()?JSON.stringify(e):e)).join(c);o[a]=d?r.Hashing.hash(u):u}catch(e){throw new M("Failed to compose value: "+e)}}function $(e,r=!1,a=i,o=!1,n="values",c="",l="",d={priority:55}){return t.Decoration.for(s.COMPOSED).define({decorator:(e,r,a,n,i,c,l)=>(d,p)=>{const u={args:e,hashResult:r,separator:a,type:n,prefix:i,suffix:c,filterEmpty:o},f=[j(s.COMPOSED),L(H,u,l),t.propMetadata(t.Metadata.key(s.COMPOSED,p),u)];return r&&f.push(F()),t.apply(...f)(d,p)},args:[e,r,a,n,c,l,d]}).apply()}function _(t){return(a,o,n,s,i)=>{if(r.Model.shouldGenerate(s,n,a))try{switch(t){case e.OperationKeys.CREATE:s[n]=1;break;case e.OperationKeys.UPDATE:if(a.get("applyUpdateValidation")&&i&&s[n]!==i[n])throw new T(`Version mismatch: ${s[n]} !== ${i[n]}`);s[n]++;break;default:throw new M("Invalid operation: "+t)}}catch(e){throw new M("Failed to update version: "+e)}}}function z(e=l.READONLY.INVALID){const a=s.READONLY,o={message:e,description:"defines the attribute as readOnly",async:!1};return t.Decoration.for(a).define({decorator:r.innerValidationDecorator,args:[z,a,o]}).apply()}async function B(e,t,a,o){r.Model.shouldGenerate(o,a,e)&&(o[a]=e.timestamp)}async function G(e,t,r,a){if(a[r])try{a[r]=t.serializer?(new t.serializer).serialize(a[r]):JSON.stringify(a[r])}catch(e){throw new w(`Failed to serialize ${r.toString()} property of model ${a.constructor.name}: ${e}`)}}async function Y(e,t,r,a){if(a[r]&&"string"==typeof a[r])try{a[r]=t.serializer?(new t.serializer).deserialize(a[r]):JSON.parse(a[r])}catch(e){throw new w(`Failed to deserialize ${r.toString()} property of model ${a.constructor.name}: ${e}`)}}function q(e,r){const a=[];for(const o in e){if(!Object.prototype.hasOwnProperty.call(e,o)||r.includes(o))continue;const n=t.Metadata.validationFor(e.constructor,o)||{};a.push({prop:o,decorators:n})}return a}function Q(e,t,a,o,n){const s=r.Validation.get(o.key);if(!s)throw Error("Missing validator for "+o.key);if(!s.updateHasErrors)return r.toConditionalPromise(void 0,n);if(!n&&o.async)return r.toConditionalPromise(void 0,n);const i=Object.values(o)||{},c=s.updateHasErrors(e[a],t[a],...i);return r.toConditionalPromise(c,n)}function J(e,t,a,o,n){const s={};for(const i in o){const c={...o[i],key:i};if(!n&&c.async)continue;let l=Q(e,t,a,c,n);if(c.key===r.ValidationKeys.LIST&&(!l||n)){const o=e[a],s=t[a],i=o instanceof Set?[...o]:o,d=s instanceof Set?[...s]:s;if(i?.length){const e=[c.class||c.clazz||c.customTypes].flat().map((e=>((e=(e="function"!=typeof e||e.name?e:e()).name?e.name:e)+"").toLowerCase())),t=i.map((t=>{if(r.Model.isModel(t)){const e=r.Model.pk(t,!0);if(!e)return"Failed to find model id";const a=d.find((t=>e===r.Model.pk(t,!0)));return t.hasErrors(a)}return e.includes(typeof t)?void 0:"Value has no validatable type"}));if(n)l=Promise.all(t).then((e=>e.every((e=>!e))?void 0:e));else{const e=t.every((e=>!e));l=t.length>0&&!e?t:void 0}}}l&&(s[c.key]=l)}if(!n)return Object.keys(s).length>0?s:void 0;const i=Object.keys(s),c=Object.values(s);return Promise.all(c).then((e=>{const t={};for(let r=0;r<e.length;r++){const a=e[r];void 0!==a&&(t[i[r]]=a)}return Object.keys(t).length>0?t:void 0}))}function W(e,a,o,...n){const s=q(a,n),i={},c={};for(const{prop:l,decorators:d}of s){const s=l+"",p=a[l],{designTypes:u}=t.Metadata.getPropDesignTypes(a.constructor,l);if(!u)continue;if(u.some((e=>[Array.name,Set.name].includes(e)))){if(!d||!Object.keys(d).includes(r.ValidationKeys.LIST)){i[s]={[r.ValidationKeys.TYPE]:`Array or Set property '${s}' requires a @list decorator`};continue}if(p&&!(Array.isArray(p)||p instanceof Set)){i[s]={[r.ValidationKeys.TYPE]:`Property '${l+""}' must be either an Array or a Set`};continue}}const f=J(a,e,s,d,o)||{},y=r.Model.isPropertyModel(a,s);if(null!=p&&y){const t=p,a=u.map((e=>r.Model.get(e.name||e))).find((e=>!!e)),o=u.map((e=>"function"==typeof e?e.name?e.name.toLowerCase():e()?.name.toLowerCase():e.toLowerCase()));if(a&&p instanceof a){const a=r.getChildNestedPropsToIgnore(s,...n);c[s]=t.hasErrors(e[l],...a)}else o.includes(typeof p)||(f[r.ValidationKeys.TYPE]=a?"Value must be an instance of "+a.name:`Unable to verify type consistency, missing model registry for ${u.toString()} on prop ${s}`,delete f[r.ModelKeys.TYPE])}(Object.keys(f).length>0||o)&&(i[s]=f),o||Object.entries(c[s]||{}).forEach((([e,t])=>{void 0!==t&&(i[`${s}.${e}`]=t)}))}if(!o)return Object.keys(i).length>0?new r.ModelErrorDefinition(i):void 0;const l=i,d=Object.keys(l),p=Object.values(l);return Promise.allSettled(p).then((async e=>{const t={};for(const[e,r]of Object.entries(c)){const a=await r;a&&Object.entries(a).forEach((([r,a])=>{void 0!==a&&(t[[e,r].join(".")]=a)}))}for(let r=0;r<e.length;r++){const a=d[r],o=e[r];"fulfilled"===o.status&&void 0!==o.value?t[a]=o.value:"rejected"===o.status&&(t[a]=o.reason instanceof Error?o.reason.message:(o.reason||"Validation failed")+"")}return Object.keys(t).length>0?new r.ModelErrorDefinition(t):void 0}))}function Z(e){return e.reduce(((e,t,r)=>(t&&(e="string"==typeof e?e+`\n - ${r}: ${t.toString()}`:` - ${r}: ${t.toString()}`),e)),void 0)}async function X(t,r,a,o,n,s){const i=ee(a,o,n);if(!i)return;const c=K(S(b(a,i,n)));for(const n of c){const i=[r,n.data.length>1?n.data:n.data[0],n.prop.length>1?n.prop:n.prop[0],a];if([e.OperationKeys.UPDATE,e.BulkCrudOperationKeys.UPDATE_ALL].includes(o)){if(!s)throw new M("Missing old model for update operation");i.push(s)}try{await n.handler.apply(t,i)}catch(e){const o=`Failed to execute handler ${n.handler.name} for ${n.prop} on ${a.constructor.name}`;let s=e;if(e instanceof m||(s=t.adapter.parseError(e)),s instanceof m?Object.defineProperty(e,"message",{value:o+" "+s.message}):s=new M(o+" "+s.message),r.get("breakOnHandlerError"))throw s;r.logger.for(X).error(o)}}}function ee(r,a,o){const n=o?.replace(/[.]$/,""),s=t.Metadata.get(r.constructor,e.ModelOperations.OPERATIONS);if(s)return Object.keys(s).reduce(((e,t)=>{const r=n?s[t][n]||{}:s[t],o=Object.keys(r).filter((e=>e===a)),i=[];for(const e of o)i.push({key:e,props:r[e]});return i&&i.length&&(e||(e={}),e[t]=i),e}),void 0)}r.Model.prototype.isTransient=function(){return t.Metadata.isTransient(this)},r.Model.prototype.hasErrors=function(e,...t){!e||e instanceof r.Model||(t.unshift(e),e=void 0);const a=this.isAsync(),o=r.validate(this,a,...t);return a?Promise.resolve(o).then((r=>r||!e?r:W(e,this,a,...t))):o||!e?o:W(e,this,a,...t)},r.Model.prototype.segregate=function(){return r.Model.segregate(this)},r.Model.segregate=e=>{if(!t.Metadata.isTransient(e))return{model:e};const a=t.Metadata.validatableProperties(e.constructor),o=t.Metadata.get(e.constructor,s.TRANSIENT),n={model:{},transient:{}};for(const t of a)if(Object.keys(o).includes(t)){n.transient=n.transient||{};try{n.transient[t]=e[t]}catch(e){throw new w(`Failed to serialize transient property ${t}: ${e}`)}}else n.model=n.model||{},n.model[t]=e[t];return n.model=r.Model.build(n.model,e.constructor.name),n},r.Model.pk=((e,a=!1)=>{if(!e)throw Error("No model was provided");const o=e instanceof r.Model?e.constructor:e,n=t.Metadata.get(o,s.ID);if(!n)throw Error("No Id property defined for model "+(o?.name||"Unknown Model"));const i=Object.keys(n)[0];if(!a)return i;if(e instanceof r.Model)return e[i];throw Error("Cannot get the value of the pk from the constructor")}).bind(r.Model),r.Model.pkProps=(e=>t.Metadata.get(e,t.Metadata.key(s.ID,r.Model.pk(e)))).bind(r.Model),r.Model.isTransient=(e=>!!t.Metadata.get("function"!=typeof e?e.constructor:e,s.TRANSIENT)).bind(r.Model),r.Model.composed=((e,a)=>{const o=e instanceof r.Model?e.constructor:e;return a?t.Metadata.get(o,t.Metadata.key(s.COMPOSED,a)):!!t.Metadata.get(o,s.COMPOSED)}).bind(r.Model),r.Model.merge=((e,t,r)=>{const a=e=>Object.entries(e).reduce(((e,[t,r])=>(void 0!==r&&(e[t]=r),e)),{});return new(r=r||e.constructor)(Object.assign({},a(e),a(t)))}).bind(r.Model),t.Metadata.saveOperation=((r,a,o,n)=>{a&&t.Metadata.set(r,t.Metadata.key(e.ModelOperations.OPERATIONS,a,o),n)}).bind(t.Metadata),t.Metadata.readOperation=((r,a,o)=>{if(a&&o)return t.Metadata.get(r,t.Metadata.key(e.ModelOperations.OPERATIONS,a,o))}).bind(t.Metadata),t.Metadata.isTransient=(e=>!!t.Metadata.get("function"!=typeof e?e.constructor:e,s.TRANSIENT)).bind(t.Metadata),r.Model.generated=((e,r)=>!!t.Metadata.get("function"!=typeof e?e.constructor:e,t.Metadata.key(s.GENERATED,r))).bind(r.Model),r.Model.shouldGenerate=((e,t,r)=>!r.get("allowGenerationOverride")||void 0===e[t]).bind(r.Model);const te={parentContext:void 0,childContexts:[],ignoredValidationProperties:[],callArgs:[],writeOperation:!1,affectedTables:[],operation:void 0,breakOnHandlerError:!0,rebuildWithTransient:!0,ignoreValidation:!1,ignoreHandlers:!1,ignoreDevSafeGuards:!1,mergeForUpdate:!0,applyUpdateValidation:!0,allowGenerationOverride:!1},re=e=>(new ae).accumulate(Object.assign({},e,{timestamp:new Date,logger:e.logger||n.Logging.get()}));class ae{constructor(e){this.cache=new o.ObjectAccumulator,Object.defineProperty(this,"cache",{value:e?e.cache:new o.ObjectAccumulator,writable:!1,enumerable:!1,configurable:!0})}static{this.factory=re}accumulate(e){return Object.defineProperty(this,"cache",{value:this.cache.accumulate(e),writable:!1,enumerable:!1,configurable:!0}),this}get logger(){return this.cache.logger}get timestamp(){return this.cache.timestamp}get(e){try{return this.cache.get(e)}catch(t){const r=this.cache.parentContext;if(r)return r.get(e);throw t}}static childFrom(e,t){return ae.factory(Object.assign({},e.cache,t||{}))}static async from(e,t,r,...a){return ae.factory(Object.assign({},te,t,{operation:e,model:r,logger:t.logger||n.Logging.get()}))}static async args(e,t,r,a,o){const n=r.pop();async function s(){return a?a.context(e,o||{},t,...r):ae.from(e,o||{},t,...r)}let i;return n?n instanceof ae?(i=n,r.push(n)):(r.push(n),i=await s(),r.push(i)):(i=await s(),r.push(i)),{context:i,args:r}}}function oe(e,t,r,a,o){const n=o||r.name;e[n]=new Proxy(e[n],{apply:async(e,r,o)=>{let n=t.call(r,...o);n instanceof Promise&&(n=await n);const s=n[n.length-1];if(!(s instanceof ae))throw new M("Missing a context");let i=e.call(r,...n);return i instanceof Promise&&(i=await i),i=a.call(r,i,s),i instanceof Promise&&(i=await i),i}})}function ne(e,t,a,o,n){const s=n||a.name;e[s]=new Proxy(e[s],{apply:async(e,a,n)=>{let s=t.call(a,...n);s instanceof Promise&&(s=await s);const i=s.pop(),c=s[s.length-1];if(!(c instanceof ae))throw new M("Missing a context");if(c.get("applyUpdateValidation")&&!c.get("ignoreDevSafeGuards")&&!(i instanceof r.Model)&&(!Array.isArray(i)||!i.every((e=>e instanceof r.Model))))throw new M("No previous versions os models found");let l=e.call(a,...s);return l instanceof Promise&&(l=await l),l=o.call(a,l,i,c),l instanceof Promise&&(l=await l),l}})}const se="##VERSION##",ie="##PACKAGE##";t.Metadata.registerLibrary(ie,se),e.BadRequestError=A,e.BaseError=m,e.BlockOperationIf=t=>U(e.OperationKeys.REFLECT+e.OperationKeys.BLOCK,t)(),e.BlockOperations=t=>U(e.OperationKeys.REFLECT+e.OperationKeys.BLOCK,((e,t)=>e.includes(t)))(t),e.BreakError=O,e.ConflictError=D,e.Context=ae,e.DBKeys=s,e.DBOperations=h,e.DEFAULT_ERROR_MESSAGES=l,e.DEFAULT_TIMESTAMP_FORMAT=c,e.DefaultContextFactory=re,e.DefaultRepositoryFlags=te,e.DefaultSeparator=i,e.InternalError=M,e.NotFoundError=P,e.Operations=E,e.OperationsRegistry=g,e.PACKAGE_NAME=ie,e.Repository=class{get class(){if(!this._class)throw new M("No class definition found for this repository");return this._class}get pk(){return r.Model.pk(this.class)}get pkProps(){return r.Model.pkProps(this.class)}constructor(e){e&&(this._class=e);const t=this;[this.create,this.read,this.delete].forEach((e=>{const r=e.name;oe(t,t[r+"Prefix"],e,t[r+"Suffix"])})),ne(t,t[this.update.name+"Prefix"],this.update,t[this.update.name+"Suffix"])}async createAll(e,...t){return Promise.all(e.map((e=>this.create(e,...t))))}async createPrefix(t,...r){const a=await ae.args(e.OperationKeys.CREATE,this.class,r);if(t=new this.class(t),a.context.get("ignoreHandlers")||await X(this,a.context,t,e.OperationKeys.CREATE,e.OperationKeys.ON),!a.context.get("ignoreValidation")){const e=await Promise.resolve(t.hasErrors());if(e)throw new T(e.toString())}return[t,...a.args]}async createSuffix(t,r){return r.get("ignoreHandlers")||await X(this,r,t,e.OperationKeys.CREATE,e.OperationKeys.AFTER),t}async createAllPrefix(t,...r){const a=await ae.args(e.OperationKeys.CREATE,this.class,r),o=a.context.get("ignoreHandlers"),n=a.context.get("ignoreValidation");if(t=await Promise.all(t.map((async t=>{const r=new this.class(t);return o||await X(this,a.context,r,e.OperationKeys.CREATE,e.OperationKeys.ON),r}))),!n){const e=Z(await Promise.all(t.map((e=>Promise.resolve(e.hasErrors())))));if(e)throw new T(e)}return[t,...a.args]}async createAllSuffix(t,r){return r.get("ignoreHandlers")||await Promise.all(t.map((t=>X(this,r,t,e.OperationKeys.CREATE,e.OperationKeys.AFTER)))),t}async readAll(e,...t){return await Promise.all(e.map((e=>this.read(e,...t))))}async readSuffix(t,r){return r.get("ignoreHandlers")||await X(this,r,t,e.OperationKeys.READ,e.OperationKeys.AFTER),t}async readPrefix(t,...r){const a=await ae.args(e.OperationKeys.READ,this.class,r),o=new this.class;return o[this.pk]=t,await X(this,a.context,o,e.OperationKeys.READ,e.OperationKeys.ON),[t,...a.args]}async readAllPrefix(t,...r){const a=await ae.args(e.OperationKeys.READ,this.class,r);return await Promise.all(t.map((async t=>{const r=new this.class;return r[this.pk]=t,X(this,a.context,r,e.OperationKeys.READ,e.OperationKeys.ON)}))),[t,...a.args]}async readAllSuffix(t,r){return r.get("ignoreHandlers")||await Promise.all(t.map((t=>X(this,r,t,e.OperationKeys.READ,e.OperationKeys.AFTER)))),t}async updateAll(e,...t){return Promise.all(e.map((e=>this.update(e,...t))))}async updateSuffix(t,r,a){return a.get("ignoreHandlers")||await X(this,a,t,e.OperationKeys.UPDATE,e.OperationKeys.AFTER,r),t}async updatePrefix(t,...a){const o=await ae.args(e.OperationKeys.UPDATE,this.class,a),n=o.context,s=o.context.get("ignoreHandlers"),i=o.context.get("ignoreValidation"),c=t[this.pk];if(!c)throw new M("No value for the Id is defined under the property "+this.pk);let l;if(n.get("applyUpdateValidation")&&(l=await this.read(c),n.get("mergeForUpdate")&&(t=r.Model.merge(l,t,this.class))),s||await X(this,o.context,t,e.OperationKeys.UPDATE,e.OperationKeys.ON,l),!i){const e=await Promise.resolve(t.hasErrors(l));if(e)throw new T(e.toString())}return[t,...o.args,l]}async updateAllPrefix(t,...a){const o=await ae.args(e.OperationKeys.UPDATE,this.class,a),n=o.context,s=n.get("ignoreHandlers"),i=n.get("ignoreValidation"),c=t.map((e=>{const t=e[this.pk];if(void 0===t)throw new M("No value for the Id is defined under the property "+this.pk);return t}));let l;if(n.get("applyUpdateValidation")&&(l=await this.readAll(c,n),n.get("mergeForUpdate")&&(t=t.map(((e,t)=>r.Model.merge(l[t],e,this.class))))),s||await Promise.all(t.map(((t,r)=>X(this,o.context,t,e.OperationKeys.UPDATE,e.OperationKeys.ON,l?l[r]:void 0)))),!i){let e;e=n.get("applyUpdateValidation")?await Promise.all(t.map(((e,t)=>Promise.resolve(e.hasErrors(l[t]))))):await Promise.resolve(t.map((e=>e.hasErrors())));const r=Z(e);if(r)throw new T(r)}return[t,...o.args,l]}async updateAllSuffix(t,r,a){if(a.get("applyUpdateValidation")&&!a.get("ignoreDevSafeGuards")&&!r)throw new M("No previous versions of models provided");return a.get("ignoreHandlers")||await Promise.all(t.map(((t,o)=>X(this,a,t,e.OperationKeys.UPDATE,e.OperationKeys.AFTER,r?r[o]:void 0)))),t}async deleteAll(e,...t){return Promise.all(e.map((e=>this.delete(e,...t))))}async deleteSuffix(t,r){return r.get("ignoreHandlers")||await X(this,r,t,e.OperationKeys.DELETE,e.OperationKeys.AFTER),t}async deletePrefix(t,...r){const a=await ae.args(e.OperationKeys.DELETE,this.class,r),o=await this.read(t,...a.args);return await X(this,a.context,o,e.OperationKeys.DELETE,e.OperationKeys.ON),[t,...a.args]}async deleteAllPrefix(t,...r){const a=await ae.args(e.OperationKeys.DELETE,this.class,r),o=await this.readAll(t,...a.args);return await Promise.all(o.map((async t=>X(this,a.context,t,e.OperationKeys.DELETE,e.OperationKeys.ON)))),[t,...a.args]}async deleteAllSuffix(t,r){return r.get("ignoreHandlers")||await Promise.all(t.map((t=>X(this,r,t,e.OperationKeys.DELETE,e.OperationKeys.AFTER)))),t}toString(){return this.class.name+" Repository"}},e.SerializationError=w,e.UpdateValidationKeys=d,e.UpdateValidator=p,e.VERSION=se,e.ValidationError=T,e.after=C,e.afterAny=(e,t,r)=>C(h.ALL,e,t,r),e.afterCreate=(e,t,r)=>C(h.CREATE,e,t,r),e.afterCreateUpdate=(e,t,r)=>C(h.CREATE_UPDATE,e,t,r),e.afterDelete=(e,t,r)=>C(h.DELETE,e,t,r),e.afterRead=(e,t,r)=>C(h.READ,e,t,r),e.afterUpdate=(e,t,r)=>C(h.UPDATE,e,t,r),e.composed=(e,t=i,r=!1,a=!1,o="",n="",s={priority:55})=>$(e,a,t,r,"values",o,n,s),e.composedFromCreateUpdate=H,e.composedFromKeys=(e,t=i,r=!1,a=!1,o="",n="",s={priority:55})=>$(e,a,t,r,"keys",o,n,s),e.enforceDBDecorators=X,e.generated=j,e.getDbDecorators=ee,e.getHandlerArgs=v,e.getHandlersDecorators=b,e.getValidatableUpdateProps=q,e.groupDecorators=S,e.hash=F,e.hashOnCreateUpdate=V,e.id=()=>t.apply(r.required(),z(),((e,r)=>t.propMetadata(t.Metadata.key(s.ID,r),{})(e,r))),e.on=I,e.onAny=(e,t,r)=>I(h.ALL,e,t,r),e.onCreate=x,e.onCreateUpdate=L,e.onDelete=(e,t,r)=>I(h.DELETE,e,t,r),e.onRead=(e,t,r)=>I(h.READ,e,t,r),e.onUpdate=N,e.operation=k,e.prefixMethod=(e,t,r,a)=>{const o=a||t.name;e[o]=new Proxy(e[o],{apply:async(e,t,a)=>{let o=r.call(t,...a);return o instanceof Promise&&(o=await o),o=e.call(t,...o),o instanceof Promise&&(o=await o),o}})},e.readonly=z,e.reduceErrorsToPrint=Z,e.serialize=e=>t.apply(L(G,{serializer:e}),C(h.ALL,Y,{serializer:e}),r.type([String,Object]),t.metadata(s.SERIALIZE,{serializer:e})),e.serializeAfterAll=Y,e.serializeOnCreateUpdate=G,e.sortDecorators=K,e.storeHandlerMetadata=U,e.suffixMethod=(e,t,r,a)=>{const o=a||t.name;e[o]=new Proxy(e[o],{apply:async(e,t,a)=>{let o=e.call(t,...a);return o instanceof Promise&&(o=await o),o=r.call(t,...o),o instanceof Promise&&(o=await o),o}})},e.timestamp=(a=h.CREATE_UPDATE,o=c)=>{const n=s.TIMESTAMP,i=r.Validation.updateKey(s.TIMESTAMP);return t.Decoration.for(n).define({decorator:(a,o)=>{const n=[j(s.TIMESTAMP),r.date(o,l.TIMESTAMP.DATE),r.required(l.TIMESTAMP.REQUIRED),t.propMetadata(r.Validation.key(s.TIMESTAMP),{operation:a,format:o}),I(a,B)];return-1!==a.indexOf(e.OperationKeys.UPDATE)?n.push(t.propMetadata(i,{message:l.TIMESTAMP.INVALID})):n.push(z()),t.apply(...n)},args:[a,o]}).apply()},e.timestampHandler=B,e.transient=()=>t.Decoration.for(s.TRANSIENT).define(((e,r)=>{t.metadata(s.TRANSIENT,!0)(e.constructor),t.propMetadata(t.Metadata.key(s.TRANSIENT,r),{})(e,r)})).apply(),e.validateCompare=W,e.validateDecorator=Q,e.validateDecorators=J,e.version=()=>{const a=s.VERSION;return t.Decoration.for(a).define(j(s.VERSION),r.type(Number),x(_(e.OperationKeys.CREATE)),N(_(e.OperationKeys.UPDATE)),t.propMetadata(a,!0)).apply()},e.versionCreateUpdate=_,e.wrapMethodWithContext=oe,e.wrapMethodWithContextForUpdate=ne},"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@decaf-ts/decoration"),require("@decaf-ts/decorator-validation"),require("tslib"),require("typed-object-accumulator"),require("@decaf-ts/logging")):"function"==typeof define&&define.amd?define(["exports","@decaf-ts/decoration","@decaf-ts/decorator-validation","tslib","typed-object-accumulator","@decaf-ts/logging"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self)["db-decorators"]={},e.decafTsDecoration,e.decafTsDecoratorValidation,e.tslib,e.typedObjectAccumulator,e.decafTsLogging);
1
+ var e,t;e=this,t=function(e,t,r,a,o,n){"use strict";const s={REFLECT:r.ModelKeys.MODEL+".persistence.",REPOSITORY:"repository",CLASS:"_class",ID:"id",INDEX:"index",UNIQUE:"unique",SERIALIZE:"serialize",READONLY:"readonly",TIMESTAMP:"timestamp",TRANSIENT:"transient",HASH:"hash",COMPOSED:"composed",GENERATED:"generated",VERSION:"version",ORIGINAL:"__originalObj"},i="_",c="dd/MM/yyyy HH:mm:ss:S",l={ID:{INVALID:"This Id is invalid",REQUIRED:"The Id is mandatory"},READONLY:{INVALID:"This cannot be updated"},TIMESTAMP:{REQUIRED:"Timestamp is Mandatory",DATE:"The Timestamp must the a valid date",INVALID:"This value must always increase"}},d={REFLECT:"db.update.validation.",TIMESTAMP:s.TIMESTAMP,READONLY:s.READONLY};e.ReadOnlyValidator=class extends r.Validator{constructor(){super(l.READONLY.INVALID)}hasErrors(e,...t){}updateHasErrors(e,t,a){if(void 0!==e)return r.isEqual(e,t)?void 0:this.getMessage(a||this.message)}},e.ReadOnlyValidator=a.__decorate([r.validator(d.READONLY),a.__metadata("design:paramtypes",[])],e.ReadOnlyValidator),e.TimestampValidator=class extends r.Validator{constructor(){super(l.TIMESTAMP.INVALID)}hasErrors(e,...t){}updateHasErrors(e,t,r){if(void 0!==e){r=r||this.getMessage(r||this.message);try{e=new Date(e),t=new Date(t)}catch(e){return r}return e>t?void 0:r}}},e.TimestampValidator=a.__decorate([r.validator(d.TIMESTAMP),a.__metadata("design:paramtypes",[])],e.TimestampValidator);class p extends r.Validator{constructor(e=r.DEFAULT_ERROR_MESSAGES.DEFAULT,...t){super(e,...t)}}var u,f,y;r.Validation.updateKey=e=>d.REFLECT+e,e.OperationKeys=void 0,(u=e.OperationKeys||(e.OperationKeys={})).REFLECT="decaf.model.db.operations.",u.CREATE="create",u.READ="read",u.UPDATE="update",u.DELETE="delete",u.ON="on.",u.AFTER="after.",u.BLOCK="block",e.ModelOperations=void 0,(f=e.ModelOperations||(e.ModelOperations={})).OPERATIONS="operations",f.RELATIONS="relations",e.BulkCrudOperationKeys=void 0,(y=e.BulkCrudOperationKeys||(e.BulkCrudOperationKeys={})).CREATE_ALL="createAll",y.READ_ALL="readAll",y.UPDATE_ALL="updateAll",y.DELETE_ALL="deleteAll";const h={CREATE:[e.OperationKeys.CREATE],READ:[e.OperationKeys.READ],UPDATE:[e.OperationKeys.UPDATE],DELETE:[e.OperationKeys.DELETE],CREATE_UPDATE:[e.OperationKeys.CREATE,e.OperationKeys.UPDATE],READ_CREATE:[e.OperationKeys.READ,e.OperationKeys.CREATE],ALL:[e.OperationKeys.CREATE,e.OperationKeys.READ,e.OperationKeys.UPDATE,e.OperationKeys.DELETE]};class g{constructor(){this.cache={}}get(e,t,r,a){a=a||[];const o=this.resolveOwner(e),n=this.resolveTargetName(e,o);if(n){const e=this.selectHandlers(n,t,r,o);e?.length&&a.unshift(...e)}else if("string"==typeof e||e===Object.prototype||Object.getPrototypeOf(e)===Object.prototype)return a;let s=Object.getPrototypeOf(e);return s?(s.constructor&&s.constructor.name===n&&(s=Object.getPrototypeOf(s)),s?this.get(s,t,r,a):a):a}register(e,t,r,a){const o=r.constructor.name,n=g.getHandlerName(e),s=this.resolveFlavour(r.constructor);this.cache[o]||(this.cache[o]={}),this.cache[o][a]||(this.cache[o][a]={}),this.cache[o][a][t]||(this.cache[o][a][t]={}),this.cache[o][a][t][s]||(this.cache[o][a][t][s]={}),this.cache[o][a][t][s][n]||(this.cache[o][a][t][s][n]=e)}resolveOwner(e){if(e&&"string"!=typeof e)return"function"==typeof e?e:e.constructor}resolveTargetName(e,t){return"string"==typeof e?e:t?.name}resolveFlavour(e){if(!e)return t.Decoration.defaultFlavour;try{return t.Metadata.flavourOf(e)}catch{return t.Decoration.defaultFlavour}}selectHandlers(e,r,a,o){const n=this.cache[e]?.[r]?.[a];if(!n)return;const s=n[this.resolveFlavour(o)]||n[t.Decoration.defaultFlavour]||this.firstBucket(n);if(!s)return;const i=Object.values(s);return i.length?i:void 0}firstBucket(e){for(const t of Object.values(e))if(t&&Object.keys(t).length)return t}static getHandlerName(e){return e.name?e.name:r.Hashing.hash(e.toString())}}class E{constructor(){}static getHandlerName(e){return g.getHandlerName(e)}static key(t){return e.OperationKeys.REFLECT+t}static get(e,t,r){return E.registry.get(e,t,r)}static getOpRegistry(){return E.registry||(E.registry=new g),E.registry}static register(e,t,r,a){E.getOpRegistry().register(e,t,r,a)}}class m extends Error{constructor(e,t,r){if(t instanceof m)return t;super(`[${e}][${r}] ${t instanceof Error?t.message:t}`),this.code=r,t instanceof Error&&(this.stack=t.stack)}get message(){return`[${this.name}] ${this.code} | ${super.message.replaceAll(/\[.*?Error\]\[\d+\]\s/g,"")}`}toString(){return this.message}}class O extends m{constructor(e,t=O.name,r=999){super(t,e,r)}}class A extends m{constructor(e,t=A.name,r=400){super(t,e,r)}}class T extends A{constructor(e){super(e,T.name,422)}}class M extends m{constructor(e,t=M.name,r=500){super(t,e,r)}}class w extends M{constructor(e){super(e,w.name,500)}}class P extends A{constructor(e){super(e,P.name,404)}}class D extends A{constructor(e){super(e,D.name,409)}}const R={priority:50},v=(e,t,r,a)=>{const o=r.constructor.name;if(!o)throw new M("Could not determine model class");a=a||{},e.props.handlers[o]&&e.props.handlers[o][t]&&(a={...e.props.handlers[o][t],...a});let n=Object.getPrototypeOf(r);return n===Object.prototype?a:(n.constructor.name===o&&(n=Object.getPrototypeOf(n)),v(e,t,n,a))};function b(e,t,r){const a=[];for(const o in t){const n=t[o];for(const t of n){const{key:n}=t,s=E.get(e,o,r+n);if(!s||!s.length)throw new M(`Could not find registered handler for the operation ${r+n} under property ${o}`);const i=v(t,o,e);if(!i)throw new M("Missing handler arguments for decorators");for(const e of s){const t=E.getHandlerName(e),r=i[t];if(!r)throw new M("Missing handler arguments for handler "+t);const n=r.data;a.push({handler:e,data:[n],prop:[o]})}}}return a}function S(e){const t=e.reduce((e,t)=>{if(!t||!t.data||!t.prop)throw new M("Missing decorator properties or data");if(!t.data[0].group)return e.set(Symbol(),t),e;const r=t.data[0].group;if(e.has(r)){const a=e.get(r);e.set(r,{handler:a.handler,data:[...a.data,...t.data],prop:[...a.prop,...t.prop]})}else e.set(r,{...t});return e},new Map),r=Array.from(t.values());return r.forEach(e=>{const t=e.data.map((t,r)=>({data:t,prop:e.prop[r]}));t.sort((e,t)=>(e.data.groupPriority??50)-(t.data.groupPriority??50)),e.data=t.map(e=>e.data),e.prop=t.map(e=>e.prop)}),r}function K(e){return e.sort((e,t)=>(e.data[0].priority??50)-(t.data[0].priority??50)),e}function L(e,t,r){return C(h.CREATE_UPDATE,e,t,r)}function N(e,t,r){return C(h.UPDATE,e,t,r)}function x(e,t,r){return C(h.CREATE,e,t,r)}function C(t=h.ALL,r,a,o){return k(e.OperationKeys.ON,t,r,a,o)}function I(t=h.ALL,r,a,o){return k(e.OperationKeys.AFTER,t,r,a,o)}function k(r,a=h.ALL,o,n,s=R){return(i,c)=>{const l=i.constructor.name,d=a.reduce((a,d)=>{const p=r+d;let u=t.Metadata.readOperation(i.constructor,c,p);u||(u={operation:d,handlers:{}});const f=E.getHandlerName(o);let y=s;if(n){if(Object.keys(n).filter(e=>e in s).length>0)throw new M("Unable to merge groupSort into dataToAdd due to overlaping keys");y={...s,...n}}return u.handlers[l]&&u.handlers[l][c]&&f in u.handlers[l][c]||(u.handlers[l]=u.handlers[l]||{},u.handlers[l][c]=u.handlers[l][c]||{},u.handlers[l][c][f]={data:y},a.push(((e,t)=>(r,a)=>{E.register(t,e,r,a)})(p,o),t.propMetadata(t.Metadata.key(e.ModelOperations.OPERATIONS,c,p),u))),a},[]);return t.apply(...d)(i,c)}}function U(e,r){return(...a)=>t.metadata(e,{args:a,handler:r})}function V(e){return(r,a)=>t.propMetadata(t.Metadata.key(s.GENERATED,a),e||!0)(r,a)}function j(e,t,a,o,n){if(void 0===o[a])return;const s=r.Hashing.hash(o[a]);n&&o[a]===s||(o[a]=s)}function F(){return t.apply(L(j),t.propMetadata(s.HASH,{}))}function H(e,t,a,o){try{const{args:e,type:n,prefix:s,suffix:i,separator:c,filterEmpty:l,hashResult:d}=t,p=e.map(t=>{if(!(t in o))throw new M(`Property ${t} not found to compose from`);if("keys"===n)return t;if(void 0===o[t]){if(l){if(!Array.isArray(l))return;if(l.includes(t))return}throw new M(`Property ${e} does not contain a value to compose from`)}return o[t].toString()}).filter(e=>!l||!!e);s&&p.unshift(s),i&&p.push(i);const u=p.map(e=>"object"==typeof e&&"[object Object]"===e.toString()?JSON.stringify(e):e).join(c);o[a]=d?r.Hashing.hash(u):u}catch(e){throw new M("Failed to compose value: "+e)}}function $(e,r=!1,a=i,o=!1,n="values",c="",l="",d={priority:55}){return t.Decoration.for(s.COMPOSED).define({decorator:(e,r,a,n,i,c,l)=>(d,p)=>{const u={args:e,hashResult:r,separator:a,type:n,prefix:i,suffix:c,filterEmpty:o},f=[V(s.COMPOSED),L(H,u,l),t.propMetadata(t.Metadata.key(s.COMPOSED,p),u)];return r&&f.push(F()),t.apply(...f)(d,p)},args:[e,r,a,n,c,l,d]}).apply()}function _(t){return(a,o,n,s,i)=>{if(r.Model.shouldGenerate(s,n,a))try{switch(t){case e.OperationKeys.CREATE:s[n]=1;break;case e.OperationKeys.UPDATE:if(a.get("applyUpdateValidation")&&i&&s[n]!==i[n])throw new T(`Version mismatch: ${s[n]} !== ${i[n]}`);s[n]++;break;default:throw new M("Invalid operation: "+t)}}catch(e){throw new M("Failed to update version: "+e)}}}function z(e=l.READONLY.INVALID){const a=s.READONLY,o={message:e,description:"defines the attribute as readOnly",async:!1};return t.Decoration.for(a).define({decorator:r.innerValidationDecorator,args:[z,a,o]}).apply()}async function B(e,t,a,o){r.Model.shouldGenerate(o,a,e)&&(o[a]=e.timestamp)}async function G(e,t,r,a){if(a[r])try{a[r]=t.serializer?(new t.serializer).serialize(a[r]):JSON.stringify(a[r])}catch(e){throw new w(`Failed to serialize ${r.toString()} property of model ${a.constructor.name}: ${e}`)}}async function Y(e,t,r,a){if(a[r]&&"string"==typeof a[r])try{a[r]=t.serializer?(new t.serializer).deserialize(a[r]):JSON.parse(a[r])}catch(e){throw new w(`Failed to deserialize ${r.toString()} property of model ${a.constructor.name}: ${e}`)}}function q(e,r){const a=[];for(const o in e){if(!Object.prototype.hasOwnProperty.call(e,o)||r.includes(o))continue;const n=t.Metadata.validationFor(e.constructor,o)||{};a.push({prop:o,decorators:n})}return a}function Q(e,t,a,o,n){const s=r.Validation.get(o.key);if(!s)throw Error("Missing validator for "+o.key);if(!s.updateHasErrors)return r.toConditionalPromise(void 0,n);if(!n&&o.async)return r.toConditionalPromise(void 0,n);const i=Object.values(o)||{},c=s.updateHasErrors(e[a],t[a],...i);return r.toConditionalPromise(c,n)}function J(e,t,a,o,n){const s={};for(const i in o){const c={...o[i],key:i};if(!n&&c.async)continue;let l=Q(e,t,a,c,n);if(c.key===r.ValidationKeys.LIST&&(!l||n)){const o=e[a],s=t[a],i=o instanceof Set?[...o]:o,d=s instanceof Set?[...s]:s;if(i?.length){const e=[c.class||c.clazz||c.customTypes].flat().map(e=>((e=(e="function"!=typeof e||e.name?e:e()).name?e.name:e)+"").toLowerCase()),t=i.map(t=>{if(r.Model.isModel(t)){const e=r.Model.pk(t,!0);if(!e)return"Failed to find model id";const a=d.find(t=>e===r.Model.pk(t,!0));return t.hasErrors(a)}return e.includes(typeof t)?void 0:"Value has no validatable type"});if(n)l=Promise.all(t).then(e=>e.every(e=>!e)?void 0:e);else{const e=t.every(e=>!e);l=t.length>0&&!e?t:void 0}}}l&&(s[c.key]=l)}if(!n)return Object.keys(s).length>0?s:void 0;const i=Object.keys(s),c=Object.values(s);return Promise.all(c).then(e=>{const t={};for(let r=0;r<e.length;r++){const a=e[r];void 0!==a&&(t[i[r]]=a)}return Object.keys(t).length>0?t:void 0})}function W(e,a,o,...n){const s=q(a,n),i={},c={};for(const{prop:l,decorators:d}of s){const s=l+"",p=a[l],{designTypes:u}=t.Metadata.getPropDesignTypes(a.constructor,l);if(!u)continue;if(u.some(e=>[Array.name,Set.name].includes(e))){if(!d||!Object.keys(d).includes(r.ValidationKeys.LIST)){i[s]={[r.ValidationKeys.TYPE]:`Array or Set property '${s}' requires a @list decorator`};continue}if(p&&!(Array.isArray(p)||p instanceof Set)){i[s]={[r.ValidationKeys.TYPE]:`Property '${l+""}' must be either an Array or a Set`};continue}}const f=J(a,e,s,d,o)||{},y=r.Model.isPropertyModel(a,s);if(null!=p&&y){const t=p,a=u.map(e=>r.Model.get(e.name||e)).find(e=>!!e),o=u.map(e=>"function"==typeof e?e.name?e.name.toLowerCase():e()?.name.toLowerCase():e.toLowerCase());if(a&&p instanceof a){const a=r.getChildNestedPropsToIgnore(s,...n);c[s]=t.hasErrors(e[l],...a)}else o.includes(typeof p)||(f[r.ValidationKeys.TYPE]=a?"Value must be an instance of "+a.name:`Unable to verify type consistency, missing model registry for ${u.toString()} on prop ${s}`,delete f[r.ModelKeys.TYPE])}(Object.keys(f).length>0||o)&&(i[s]=f),o||Object.entries(c[s]||{}).forEach(([e,t])=>{void 0!==t&&(i[`${s}.${e}`]=t)})}if(!o)return Object.keys(i).length>0?new r.ModelErrorDefinition(i):void 0;const l=i,d=Object.keys(l),p=Object.values(l);return Promise.allSettled(p).then(async e=>{const t={};for(const[e,r]of Object.entries(c)){const a=await r;a&&Object.entries(a).forEach(([r,a])=>{void 0!==a&&(t[[e,r].join(".")]=a)})}for(let r=0;r<e.length;r++){const a=d[r],o=e[r];"fulfilled"===o.status&&void 0!==o.value?t[a]=o.value:"rejected"===o.status&&(t[a]=o.reason instanceof Error?o.reason.message:(o.reason||"Validation failed")+"")}return Object.keys(t).length>0?new r.ModelErrorDefinition(t):void 0})}function Z(e){return e.reduce((e,t,r)=>(t&&(e="string"==typeof e?e+`\n - ${r}: ${t.toString()}`:` - ${r}: ${t.toString()}`),e),void 0)}async function X(t,r,a,o,n,s){const i=ee(a,o,n);if(!i)return;const c=K(S(b(a,i,n)));for(const n of c){const i=[r,n.data.length>1?n.data:n.data[0],n.prop.length>1?n.prop:n.prop[0],a];if([e.OperationKeys.UPDATE,e.BulkCrudOperationKeys.UPDATE_ALL].includes(o)){if(!s)throw new M("Missing old model for update operation");i.push(s)}try{await n.handler.apply(t,i)}catch(e){if(r.logger.for(X).error(`Failed to execute handler ${n.handler.name} for ${n.prop} on ${a.constructor.name}`),r.get("breakOnHandlerError"))throw e}}}function ee(r,a,o){const n=o?.replace(/[.]$/,""),s=t.Metadata.get(r.constructor,e.ModelOperations.OPERATIONS);if(s)return Object.keys(s).reduce((e,t)=>{const r=n?s[t][n]||{}:s[t],o=Object.keys(r).filter(e=>e===a),i=[];for(const e of o)i.push({key:e,props:r[e]});return i&&i.length&&(e||(e={}),e[t]=i),e},void 0)}r.Model.prototype.isTransient=function(){return t.Metadata.isTransient(this)},r.Model.prototype.hasErrors=function(e,...t){!e||e instanceof r.Model||(t.unshift(e),e=void 0);const a=this.isAsync(),o=r.validate(this,a,...t);return a?Promise.resolve(o).then(r=>r||!e?r:W(e,this,a,...t)):o||!e?o:W(e,this,a,...t)},r.Model.prototype.segregate=function(){return r.Model.segregate(this)},r.Model.segregate=e=>{if(!t.Metadata.isTransient(e))return{model:e};const a=t.Metadata.validatableProperties(e.constructor),o=t.Metadata.get(e.constructor,s.TRANSIENT),n={model:{},transient:{}};for(const t of a)if(Object.keys(o).includes(t)){n.transient=n.transient||{};try{n.transient[t]=e[t]}catch(e){throw new w(`Failed to serialize transient property ${t}: ${e}`)}}else n.model=n.model||{},n.model[t]=e[t];return n.model=r.Model.build(n.model,e.constructor.name),n},t.Metadata.pk=((e,a=!1)=>{if(!e)throw Error("No model was provided");const o=e instanceof r.Model?e.constructor:e,n=t.Metadata.get(o,s.ID);if(!n)throw Error("No Id property defined for model "+(o?.name||"Unknown Model"));const i=Object.keys(n)[0];if(!a)return i;if(e instanceof r.Model)return e[i];throw Error("Cannot get the value of the pk from the constructor")}).bind(t.Metadata),r.Model.pk=((e,r=!1)=>t.Metadata.pk(e,r)).bind(r.Model),r.Model.pkProps=(e=>t.Metadata.get(e,t.Metadata.key(s.ID,r.Model.pk(e)))).bind(r.Model),r.Model.isTransient=(e=>!!t.Metadata.get("function"!=typeof e?e.constructor:e,s.TRANSIENT)).bind(r.Model),r.Model.composed=((e,a)=>{const o=e instanceof r.Model?e.constructor:e;return a?t.Metadata.get(o,t.Metadata.key(s.COMPOSED,a)):!!t.Metadata.get(o,s.COMPOSED)}).bind(r.Model),r.Model.merge=((e,t,r)=>{const a=e=>Object.entries(e).reduce((e,[t,r])=>(null!=r&&(e[t]=r),e),{});return new(r=r||e.constructor)(Object.assign({},a(e),a(t)))}).bind(r.Model),t.Metadata.saveOperation=((r,a,o,n)=>{a&&t.Metadata.set(r,t.Metadata.key(e.ModelOperations.OPERATIONS,a,o),n)}).bind(t.Metadata),t.Metadata.readOperation=((r,a,o)=>{if(a&&o)return t.Metadata.get(r,t.Metadata.key(e.ModelOperations.OPERATIONS,a,o))}).bind(t.Metadata),t.Metadata.isTransient=(e=>!!t.Metadata.get("function"!=typeof e?e.constructor:e,s.TRANSIENT)).bind(t.Metadata),r.Model.generated=((e,r)=>!!t.Metadata.get("function"!=typeof e?e.constructor:e,t.Metadata.key(s.GENERATED,r))).bind(r.Model),r.Model.shouldGenerate=((e,t,r)=>!r.get("allowGenerationOverride")||void 0===e[t]).bind(r.Model);const te={parentContext:void 0,childContexts:[],ignoredValidationProperties:[],callArgs:[],writeOperation:!1,affectedTables:[],operation:void 0,breakOnHandlerError:!0,rebuildWithTransient:!0,ignoreValidation:!1,ignoreHandlers:!1,ignoreDevSafeGuards:!1,mergeForUpdate:!0,applyUpdateValidation:!0,allowGenerationOverride:!1},re=e=>(new ae).accumulate(Object.assign({},e,{timestamp:new Date,logger:e.logger||n.Logging.get()}));class ae{constructor(e){this.cache=new o.ObjectAccumulator,Object.defineProperty(this,"cache",{value:e?e.cache:new o.ObjectAccumulator,writable:!1,enumerable:!1,configurable:!0})}static{this.factory=re}accumulate(e){return Object.defineProperty(this,"cache",{value:this.cache.accumulate(e),writable:!1,enumerable:!1,configurable:!0}),this}get logger(){return this.cache.logger}get timestamp(){return this.cache.timestamp}get(e){try{return this.cache.get(e)}catch(t){const r=this.cache.parentContext;if(r)return r.get(e);throw t}}static childFrom(e,t){return ae.factory(Object.assign({},e.cache,t||{}))}static async from(e,t,r,...a){return ae.factory(Object.assign({},te,t,{operation:e,model:r,logger:t.logger||n.Logging.get()}))}static async args(e,t,r,a,o){const n=r.pop();async function s(){return a?a.context(e,o||{},t,...r):ae.from(e,o||{},t,...r)}let i;return n?n instanceof ae?(i=n,r.push(n)):(r.push(n),i=await s(),r.push(i)):(i=await s(),r.push(i)),{context:i,args:r}}}function oe(e,t,r,a,o){const n=o||r.name;e[n]=new Proxy(e[n],{apply:async(e,r,o)=>{let n=t.call(r,...o);n instanceof Promise&&(n=await n);const s=n[n.length-1];if(!(s instanceof ae))throw new M("Missing a context");let i=e.call(r,...n);return i instanceof Promise&&(i=await i),i=a.call(r,i,s),i instanceof Promise&&(i=await i),i}})}function ne(e,t,a,o,n){const s=n||a.name;e[s]=new Proxy(e[s],{apply:async(e,a,n)=>{let s=t.call(a,...n);s instanceof Promise&&(s=await s);const i=s.pop(),c=s[s.length-1];if(!(c instanceof ae))throw new M("Missing a context");if(c.get("applyUpdateValidation")&&!c.get("ignoreDevSafeGuards")&&!(i instanceof r.Model)&&(!Array.isArray(i)||!i.every(e=>e instanceof r.Model)))throw new M("No previous versions os models found");let l=e.call(a,...s);return l instanceof Promise&&(l=await l),l=o.call(a,l,i,c),l instanceof Promise&&(l=await l),l}})}const se="##VERSION##",ie="##PACKAGE##";t.Metadata.registerLibrary(ie,se),e.BadRequestError=A,e.BaseError=m,e.BlockOperationIf=t=>U(e.OperationKeys.REFLECT+e.OperationKeys.BLOCK,t)(),e.BlockOperations=t=>U(e.OperationKeys.REFLECT+e.OperationKeys.BLOCK,(e,t)=>e.includes(t))(t),e.BreakError=O,e.ConflictError=D,e.Context=ae,e.DBKeys=s,e.DBOperations=h,e.DEFAULT_ERROR_MESSAGES=l,e.DEFAULT_TIMESTAMP_FORMAT=c,e.DefaultContextFactory=re,e.DefaultRepositoryFlags=te,e.DefaultSeparator=i,e.InternalError=M,e.NotFoundError=P,e.Operations=E,e.OperationsRegistry=g,e.PACKAGE_NAME=ie,e.Repository=class{get class(){if(!this._class)throw new M("No class definition found for this repository");return this._class}get pk(){return r.Model.pk(this.class)}get pkProps(){return r.Model.pkProps(this.class)}constructor(e){e&&(this._class=e);const t=this;[this.create,this.read,this.delete].forEach(e=>{const r=e.name;oe(t,t[r+"Prefix"],e,t[r+"Suffix"])}),ne(t,t[this.update.name+"Prefix"],this.update,t[this.update.name+"Suffix"])}async createAll(e,...t){return Promise.all(e.map(e=>this.create(e,...t)))}async createPrefix(t,...r){const a=await ae.args(e.OperationKeys.CREATE,this.class,r);if(t=new this.class(t),a.context.get("ignoreHandlers")||await X(this,a.context,t,e.OperationKeys.CREATE,e.OperationKeys.ON),!a.context.get("ignoreValidation")){const e=await Promise.resolve(t.hasErrors());if(e)throw new T(e.toString())}return[t,...a.args]}async createSuffix(t,r){return r.get("ignoreHandlers")||await X(this,r,t,e.OperationKeys.CREATE,e.OperationKeys.AFTER),t}async createAllPrefix(t,...r){const a=await ae.args(e.OperationKeys.CREATE,this.class,r),o=a.context.get("ignoreHandlers"),n=a.context.get("ignoreValidation");if(t=await Promise.all(t.map(async t=>{const r=new this.class(t);return o||await X(this,a.context,r,e.OperationKeys.CREATE,e.OperationKeys.ON),r})),!n){const e=Z(await Promise.all(t.map(e=>Promise.resolve(e.hasErrors()))));if(e)throw new T(e)}return[t,...a.args]}async createAllSuffix(t,r){return r.get("ignoreHandlers")||await Promise.all(t.map(t=>X(this,r,t,e.OperationKeys.CREATE,e.OperationKeys.AFTER))),t}async readAll(e,...t){return await Promise.all(e.map(e=>this.read(e,...t)))}async readSuffix(t,r){return r.get("ignoreHandlers")||await X(this,r,t,e.OperationKeys.READ,e.OperationKeys.AFTER),t}async readPrefix(t,...r){const a=await ae.args(e.OperationKeys.READ,this.class,r),o=new this.class;return o[this.pk]=t,await X(this,a.context,o,e.OperationKeys.READ,e.OperationKeys.ON),[t,...a.args]}async readAllPrefix(t,...r){const a=await ae.args(e.OperationKeys.READ,this.class,r);return await Promise.all(t.map(async t=>{const r=new this.class;return r[this.pk]=t,X(this,a.context,r,e.OperationKeys.READ,e.OperationKeys.ON)})),[t,...a.args]}async readAllSuffix(t,r){return r.get("ignoreHandlers")||await Promise.all(t.map(t=>X(this,r,t,e.OperationKeys.READ,e.OperationKeys.AFTER))),t}async updateAll(e,...t){return Promise.all(e.map(e=>this.update(e,...t)))}async updateSuffix(t,r,a){return a.get("ignoreHandlers")||await X(this,a,t,e.OperationKeys.UPDATE,e.OperationKeys.AFTER,r),t}async updatePrefix(t,...a){const o=await ae.args(e.OperationKeys.UPDATE,this.class,a),n=o.context,s=o.context.get("ignoreHandlers"),i=o.context.get("ignoreValidation"),c=t[this.pk];if(!c)throw new M("No value for the Id is defined under the property "+this.pk);let l;if(n.get("applyUpdateValidation")&&(l=await this.read(c),n.get("mergeForUpdate")&&(t=r.Model.merge(l,t,this.class))),s||await X(this,o.context,t,e.OperationKeys.UPDATE,e.OperationKeys.ON,l),!i){const e=await Promise.resolve(t.hasErrors(l));if(e)throw new T(e.toString())}return[t,...o.args,l]}async updateAllPrefix(t,...a){const o=await ae.args(e.OperationKeys.UPDATE,this.class,a),n=o.context,s=n.get("ignoreHandlers"),i=n.get("ignoreValidation"),c=t.map(e=>{const t=e[this.pk];if(void 0===t)throw new M("No value for the Id is defined under the property "+this.pk);return t});let l;if(n.get("applyUpdateValidation")&&(l=await this.readAll(c,n),n.get("mergeForUpdate")&&(t=t.map((e,t)=>r.Model.merge(l[t],e,this.class)))),s||await Promise.all(t.map((t,r)=>X(this,o.context,t,e.OperationKeys.UPDATE,e.OperationKeys.ON,l?l[r]:void 0))),!i){let e;e=n.get("applyUpdateValidation")?await Promise.all(t.map((e,t)=>Promise.resolve(e.hasErrors(l[t])))):await Promise.resolve(t.map(e=>e.hasErrors()));const r=Z(e);if(r)throw new T(r)}return[t,...o.args,l]}async updateAllSuffix(t,r,a){if(a.get("applyUpdateValidation")&&!a.get("ignoreDevSafeGuards")&&!r)throw new M("No previous versions of models provided");return a.get("ignoreHandlers")||await Promise.all(t.map((t,o)=>X(this,a,t,e.OperationKeys.UPDATE,e.OperationKeys.AFTER,r?r[o]:void 0))),t}async deleteAll(e,...t){return Promise.all(e.map(e=>this.delete(e,...t)))}async deleteSuffix(t,r){return r.get("ignoreHandlers")||await X(this,r,t,e.OperationKeys.DELETE,e.OperationKeys.AFTER),t}async deletePrefix(t,...r){const a=await ae.args(e.OperationKeys.DELETE,this.class,r),o=await this.read(t,...a.args);return await X(this,a.context,o,e.OperationKeys.DELETE,e.OperationKeys.ON),[t,...a.args]}async deleteAllPrefix(t,...r){const a=await ae.args(e.OperationKeys.DELETE,this.class,r),o=await this.readAll(t,...a.args);return await Promise.all(o.map(async t=>X(this,a.context,t,e.OperationKeys.DELETE,e.OperationKeys.ON))),[t,...a.args]}async deleteAllSuffix(t,r){return r.get("ignoreHandlers")||await Promise.all(t.map(t=>X(this,r,t,e.OperationKeys.DELETE,e.OperationKeys.AFTER))),t}toString(){return this.class.name+" Repository"}},e.SerializationError=w,e.UpdateValidationKeys=d,e.UpdateValidator=p,e.VERSION=se,e.ValidationError=T,e.after=I,e.afterAny=(e,t,r)=>I(h.ALL,e,t,r),e.afterCreate=(e,t,r)=>I(h.CREATE,e,t,r),e.afterCreateUpdate=(e,t,r)=>I(h.CREATE_UPDATE,e,t,r),e.afterDelete=(e,t,r)=>I(h.DELETE,e,t,r),e.afterRead=(e,t,r)=>I(h.READ,e,t,r),e.afterUpdate=(e,t,r)=>I(h.UPDATE,e,t,r),e.composed=(e,t=i,r=!1,a=!1,o="",n="",s={priority:55})=>$(e,a,t,r,"values",o,n,s),e.composedFromCreateUpdate=H,e.composedFromKeys=(e,t=i,r=!1,a=!1,o="",n="",s={priority:55})=>$(e,a,t,r,"keys",o,n,s),e.enforceDBDecorators=X,e.generated=V,e.getDbDecorators=ee,e.getHandlerArgs=v,e.getHandlersDecorators=b,e.getValidatableUpdateProps=q,e.groupDecorators=S,e.hash=F,e.hashOnCreateUpdate=j,e.id=()=>t.apply(r.required(),z(),(e,r)=>t.propMetadata(t.Metadata.key(s.ID,r),{})(e,r)),e.on=C,e.onAny=(e,t,r)=>C(h.ALL,e,t,r),e.onCreate=x,e.onCreateUpdate=L,e.onDelete=(e,t,r)=>C(h.DELETE,e,t,r),e.onRead=(e,t,r)=>C(h.READ,e,t,r),e.onUpdate=N,e.operation=k,e.prefixMethod=(e,t,r,a)=>{const o=a||t.name;e[o]=new Proxy(e[o],{apply:async(e,t,a)=>{let o=r.call(t,...a);return o instanceof Promise&&(o=await o),o=e.call(t,...o),o instanceof Promise&&(o=await o),o}})},e.readonly=z,e.reduceErrorsToPrint=Z,e.serialize=e=>t.apply(L(G,{serializer:e}),I(h.ALL,Y,{serializer:e}),r.type([String,Object]),t.metadata(s.SERIALIZE,{serializer:e})),e.serializeAfterAll=Y,e.serializeOnCreateUpdate=G,e.sortDecorators=K,e.storeHandlerMetadata=U,e.suffixMethod=(e,t,r,a)=>{const o=a||t.name;e[o]=new Proxy(e[o],{apply:async(e,t,a)=>{let o=e.call(t,...a);return o instanceof Promise&&(o=await o),o=r.call(t,...o),o instanceof Promise&&(o=await o),o}})},e.timestamp=(a=h.CREATE_UPDATE,o=c)=>{const n=s.TIMESTAMP,i=r.Validation.updateKey(s.TIMESTAMP);return t.Decoration.for(n).define({decorator:(a,o)=>{const n=[V(s.TIMESTAMP),r.date(o,l.TIMESTAMP.DATE),r.required(l.TIMESTAMP.REQUIRED),t.propMetadata(r.Validation.key(s.TIMESTAMP),{operation:a,format:o}),C(a,B)];return-1!==a.indexOf(e.OperationKeys.UPDATE)?n.push(t.propMetadata(i,{message:l.TIMESTAMP.INVALID})):n.push(z()),t.apply(...n)},args:[a,o]}).apply()},e.timestampHandler=B,e.transient=()=>t.Decoration.for(s.TRANSIENT).define((e,r)=>{t.propMetadata(t.Metadata.key(s.TRANSIENT,r),{})(e,r)}).apply(),e.validateCompare=W,e.validateDecorator=Q,e.validateDecorators=J,e.version=()=>{const a=s.VERSION;return t.Decoration.for(a).define(V(s.VERSION),r.type(Number),x(_(e.OperationKeys.CREATE)),N(_(e.OperationKeys.UPDATE)),t.propMetadata(a,!0)).apply()},e.versionCreateUpdate=_,e.wrapMethodWithContext=oe,e.wrapMethodWithContextForUpdate=ne},"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@decaf-ts/decoration"),require("@decaf-ts/decorator-validation"),require("tslib"),require("typed-object-accumulator"),require("@decaf-ts/logging")):"function"==typeof define&&define.amd?define(["exports","@decaf-ts/decoration","@decaf-ts/decorator-validation","tslib","typed-object-accumulator","@decaf-ts/logging"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self)["db-decorators"]={},e.decafTsDecoration,e.decafTsDecoratorValidation,e.tslib,e.typedObjectAccumulator,e.decafTsLogging);
2
2
  //# sourceMappingURL=db-decorators.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"db-decorators.cjs","sources":["../src/model/constants.ts","../src/validation/constants.ts","../src/validation/validators/ReadOnlyValidator.ts","../src/validation/validators/TimestampValidator.ts","../src/validation/validators/UpdateValidator.ts","../src/operations/constants.ts","../src/validation/validation.ts","../src/operations/OperationsRegistry.ts","../src/operations/Operations.ts","../src/repository/errors.ts","../src/operations/decorators.ts","../src/model/decorators.ts","../src/validation/decorators.ts","../src/model/validation.ts","../src/repository/utils.ts","../src/overrides/overrides.ts","../src/repository/constants.ts","../src/repository/Context.ts","../src/repository/wrappers.ts","../src/index.ts","../src/repository/Repository.ts","../src/identity/decorators.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["DBKeys","REFLECT","ModelKeys","MODEL","REPOSITORY","CLASS","ID","INDEX","UNIQUE","SERIALIZE","READONLY","TIMESTAMP","TRANSIENT","HASH","COMPOSED","GENERATED","VERSION","ORIGINAL","DefaultSeparator","DEFAULT_TIMESTAMP_FORMAT","DEFAULT_ERROR_MESSAGES","INVALID","REQUIRED","DATE","UpdateValidationKeys","ReadOnlyValidator","Validator","constructor","super","hasErrors","value","args","updateHasErrors","oldValue","message","undefined","isEqual","this","getMessage","exports","__decorate","validator","TimestampValidator","Date","e","UpdateValidator","DecoratorMessages","DEFAULT","acceptedTypes","OperationKeys","ModelOperations","BulkCrudOperationKeys","Validation","updateKey","key","DBOperations","CREATE","READ","UPDATE","DELETE","CREATE_UPDATE","READ_CREATE","ALL","OperationsRegistry","cache","get","target","propKey","operation","accum","owner","resolveOwner","name","resolveTargetName","handlers","selectHandlers","length","unshift","Object","prototype","getPrototypeOf","proto","register","handler","handlerName","getHandlerName","flavour","resolveFlavour","Decoration","defaultFlavour","Metadata","flavourOf","byOperation","bucket","firstBucket","values","keys","Hashing","hash","toString","Operations","str","targetName","registry","getOpRegistry","BaseError","Error","msg","code","stack","replaceAll","BreakError","BadRequestError","ValidationError","InternalError","SerializationError","NotFoundError","ConflictError","DefaultGroupSort","priority","getHandlerArgs","dec","prop","m","props","getHandlersDecorators","model","decorators","prefix","decs","handlerArgs","argsEntry","data","push","groupDecorators","grouped","reduce","acc","group","set","Symbol","groupKey","has","existing","Map","groups","Array","from","forEach","combined","map","d","i","sort","a","b","groupPriority","c","sortDecorators","onCreateUpdate","groupsort","on","onUpdate","onCreate","op","ON","after","AFTER","baseOp","dataToAdd","propertyKey","compoundKey","readOperation","handlerKey","mergeData","filter","handle","propMetadata","OPERATIONS","apply","storeHandlerMetadata","params","metadata","generated","type","hashOnCreateUpdate","context","oldModel","composedFromCreateUpdate","suffix","separator","filterEmpty","hashResult","composed","arg","isArray","includes","JSON","stringify","join","composedFrom","for","define","decorator","property","versionCreateUpdate","Model","shouldGenerate","readonly","meta","description","async","innerValidationDecorator","timestampHandler","timestamp","serializeOnCreateUpdate","serializer","serialize","serializeAfterAll","deserialize","parse","getValidatableUpdateProps","propsToIgnore","decoratedProperties","hasOwnProperty","call","validationFor","validateDecorator","newModel","toConditionalPromise","decoratorProps","maybeError","validateDecorators","result","decoratorKey","validationErrors","ValidationKeys","LIST","newPropValue","oldPropValue","newValues","Set","oldValues","allowedTypes","class","clazz","customTypes","flat","t","String","toLowerCase","errs","childValue","isModel","id","pk","oldListModel","find","el","Promise","all","then","every","r","allEmpty","promises","resolvedValues","res","val","validateCompare","ValidatableUpdateProps","nestedErrors","propValue","designTypes","getPropDesignTypes","some","TYPE","propErrors","isConstr","isPropertyModel","instance","Constr","designTypeNames","nestedPropsToIgnore","getChildNestedPropsToIgnore","entries","error","ModelErrorDefinition","merged","allSettled","results","parentProp","nestedErrPromise","nestedPropDecErrors","nestedProp","nestedPropDecError","status","reason","reduceErrorsToPrint","errors","enforceDBDecorators","repo","getDbDecorators","sortedDecorators","UPDATE_ALL","adapter","parseError","defineProperty","logger","extraPrefix","replace","obj","isTransient","decoratorValidation","previousVersion","exclusions","isAsync","validate","resolve","resolvedErrs","segregate","validatableProperties","transientProps","transient","build","keyValue","constr","idProp","bind","pkProps","merge","extract","assign","saveOperation","decoration","ctx","DefaultRepositoryFlags","parentContext","childContexts","ignoredValidationProperties","callArgs","writeOperation","affectedTables","breakOnHandlerError","rebuildWithTransient","ignoreValidation","ignoreHandlers","ignoreDevSafeGuards","mergeForUpdate","applyUpdateValidation","allowGenerationOverride","DefaultContextFactory","Context","accumulate","Logging","ObjectAccumulator","writable","enumerable","configurable","factory","parent","childFrom","overrides","contextual","last","pop","getContext","wrapMethodWithContext","before","method","methodName","Proxy","thisArg","argArray","transformedArgs","wrapMethodWithContextForUpdate","o","PACKAGE_NAME","registerLibrary","BLOCK","operations","_class","self","create","read","delete","update","createAll","models","createPrefix","contextArgs","createSuffix","createAllPrefix","ignoreValidate","createAllSuffix","readAll","readSuffix","readPrefix","readAllPrefix","k","readAllSuffix","updateAll","updateSuffix","updatePrefix","updateAllPrefix","ids","oldModels","modelsValidation","updateAllSuffix","deleteAll","deleteSuffix","deletePrefix","deleteAllPrefix","deleteAllSuffix","required","afterName","beforeName","format","decorationKey","updateValidationKey","date","indexOf","attribute","Number"],"mappings":"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"}
1
+ {"version":3,"file":"db-decorators.cjs","sources":["../src/model/constants.ts","../src/validation/constants.ts","../src/validation/validators/ReadOnlyValidator.ts","../src/validation/validators/TimestampValidator.ts","../src/validation/validators/UpdateValidator.ts","../src/operations/constants.ts","../src/validation/validation.ts","../src/operations/OperationsRegistry.ts","../src/operations/Operations.ts","../src/repository/errors.ts","../src/operations/decorators.ts","../src/model/decorators.ts","../src/validation/decorators.ts","../src/model/validation.ts","../src/repository/utils.ts","../src/overrides/overrides.ts","../src/repository/constants.ts","../src/repository/Context.ts","../src/repository/wrappers.ts","../src/index.ts","../src/repository/Repository.ts","../src/identity/decorators.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["DBKeys","REFLECT","ModelKeys","MODEL","REPOSITORY","CLASS","ID","INDEX","UNIQUE","SERIALIZE","READONLY","TIMESTAMP","TRANSIENT","HASH","COMPOSED","GENERATED","VERSION","ORIGINAL","DefaultSeparator","DEFAULT_TIMESTAMP_FORMAT","DEFAULT_ERROR_MESSAGES","INVALID","REQUIRED","DATE","UpdateValidationKeys","ReadOnlyValidator","Validator","constructor","super","hasErrors","value","args","updateHasErrors","oldValue","message","undefined","isEqual","this","getMessage","__decorate","validator","TimestampValidator","Date","e","UpdateValidator","DecoratorMessages","DEFAULT","acceptedTypes","OperationKeys","ModelOperations","BulkCrudOperationKeys","Validation","updateKey","key","DBOperations","CREATE","READ","UPDATE","DELETE","CREATE_UPDATE","READ_CREATE","ALL","OperationsRegistry","cache","get","target","propKey","operation","accum","owner","resolveOwner","name","resolveTargetName","handlers","selectHandlers","length","unshift","Object","prototype","getPrototypeOf","proto","register","handler","handlerName","getHandlerName","flavour","resolveFlavour","Decoration","defaultFlavour","Metadata","flavourOf","byOperation","bucket","firstBucket","values","keys","Hashing","hash","toString","Operations","str","targetName","registry","getOpRegistry","BaseError","Error","msg","code","stack","replaceAll","BreakError","BadRequestError","ValidationError","InternalError","SerializationError","NotFoundError","ConflictError","DefaultGroupSort","priority","getHandlerArgs","dec","prop","m","props","getHandlersDecorators","model","decorators","prefix","decs","handlerArgs","argsEntry","data","push","groupDecorators","grouped","reduce","acc","group","set","Symbol","groupKey","has","existing","Map","groups","Array","from","forEach","combined","map","d","i","sort","a","b","groupPriority","c","sortDecorators","onCreateUpdate","groupsort","on","onUpdate","onCreate","op","ON","after","AFTER","baseOp","dataToAdd","propertyKey","compoundKey","readOperation","handlerKey","mergeData","filter","handle","propMetadata","OPERATIONS","apply","storeHandlerMetadata","params","metadata","generated","type","hashOnCreateUpdate","context","oldModel","composedFromCreateUpdate","suffix","separator","filterEmpty","hashResult","composed","arg","isArray","includes","JSON","stringify","join","composedFrom","for","define","decorator","property","versionCreateUpdate","Model","shouldGenerate","readonly","meta","description","async","innerValidationDecorator","timestampHandler","timestamp","serializeOnCreateUpdate","serializer","serialize","serializeAfterAll","deserialize","parse","getValidatableUpdateProps","propsToIgnore","decoratedProperties","hasOwnProperty","call","validationFor","validateDecorator","newModel","toConditionalPromise","decoratorProps","maybeError","validateDecorators","result","decoratorKey","validationErrors","ValidationKeys","LIST","newPropValue","oldPropValue","newValues","Set","oldValues","allowedTypes","class","clazz","customTypes","flat","t","String","toLowerCase","errs","childValue","isModel","id","pk","oldListModel","find","el","Promise","all","then","every","r","allEmpty","promises","resolvedValues","res","val","validateCompare","ValidatableUpdateProps","nestedErrors","propValue","designTypes","getPropDesignTypes","some","TYPE","propErrors","isConstr","isPropertyModel","instance","Constr","designTypeNames","nestedPropsToIgnore","getChildNestedPropsToIgnore","entries","error","ModelErrorDefinition","merged","allSettled","results","parentProp","nestedErrPromise","nestedPropDecErrors","nestedProp","nestedPropDecError","status","reason","reduceErrorsToPrint","errors","enforceDBDecorators","repo","getDbDecorators","sortedDecorators","UPDATE_ALL","logger","extraPrefix","replace","obj","isTransient","previousVersion","exclusions","isAsync","validate","resolve","resolvedErrs","segregate","validatableProperties","transientProps","transient","build","keyValue","constr","idProp","bind","pkProps","merge","extractData","assign","saveOperation","ctx","DefaultRepositoryFlags","parentContext","childContexts","ignoredValidationProperties","callArgs","writeOperation","affectedTables","breakOnHandlerError","rebuildWithTransient","ignoreValidation","ignoreHandlers","ignoreDevSafeGuards","mergeForUpdate","applyUpdateValidation","allowGenerationOverride","DefaultContextFactory","Context","accumulate","Logging","ObjectAccumulator","defineProperty","writable","enumerable","configurable","factory","parent","childFrom","overrides","contextual","last","pop","getContext","wrapMethodWithContext","before","method","methodName","Proxy","thisArg","argArray","transformedArgs","wrapMethodWithContextForUpdate","o","PACKAGE_NAME","registerLibrary","BLOCK","operations","_class","self","create","read","delete","update","createAll","models","createPrefix","contextArgs","createSuffix","createAllPrefix","ignoreValidate","createAllSuffix","readAll","readSuffix","readPrefix","readAllPrefix","k","readAllSuffix","updateAll","updateSuffix","updatePrefix","updateAllPrefix","ids","oldModels","modelsValidation","updateAllSuffix","deleteAll","deleteSuffix","deletePrefix","deleteAllPrefix","deleteAllSuffix","required","afterName","beforeName","format","decorationKey","updateValidationKey","date","indexOf","attribute","Number"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{Decoration as e,Metadata as t,propMetadata as r,apply as n,metadata as s}from"@decaf-ts/decoration";import{ModelKeys as o,validator as a,Validator as i,isEqual as c,DEFAULT_ERROR_MESSAGES as l,Validation as u,Hashing as d,Model as f,type as p,innerValidationDecorator as h,date as E,required as g,toConditionalPromise as y,ValidationKeys as m,getChildNestedPropsToIgnore as A,ModelErrorDefinition as T,validate as w}from"@decaf-ts/decorator-validation";import{__decorate as P,__metadata as O}from"tslib";import{ObjectAccumulator as R}from"typed-object-accumulator";import{Logging as v}from"@decaf-ts/logging";const D={REFLECT:o.MODEL+".persistence.",REPOSITORY:"repository",CLASS:"_class",ID:"id",INDEX:"index",UNIQUE:"unique",SERIALIZE:"serialize",READONLY:"readonly",TIMESTAMP:"timestamp",TRANSIENT:"transient",HASH:"hash",COMPOSED:"composed",GENERATED:"generated",VERSION:"version",ORIGINAL:"__originalObj"},S="_",b="dd/MM/yyyy HH:mm:ss:S",L={ID:{INVALID:"This Id is invalid",REQUIRED:"The Id is mandatory"},READONLY:{INVALID:"This cannot be updated"},TIMESTAMP:{REQUIRED:"Timestamp is Mandatory",DATE:"The Timestamp must the a valid date",INVALID:"This value must always increase"}},N={REFLECT:"db.update.validation.",TIMESTAMP:D.TIMESTAMP,READONLY:D.READONLY};let I=class extends i{constructor(){super(L.READONLY.INVALID)}hasErrors(e,...t){}updateHasErrors(e,t,r){if(void 0!==e)return c(e,t)?void 0:this.getMessage(r||this.message)}};I=P([a(N.READONLY),O("design:paramtypes",[])],I);let x=class extends i{constructor(){super(L.TIMESTAMP.INVALID)}hasErrors(e,...t){}updateHasErrors(e,t,r){if(void 0!==e){r=r||this.getMessage(r||this.message);try{e=new Date(e),t=new Date(t)}catch(e){return r}return e>t?void 0:r}}};x=P([a(N.TIMESTAMP),O("design:paramtypes",[])],x);class k extends i{constructor(e=l.DEFAULT,...t){super(e,...t)}}var C,M,j;u.updateKey=e=>N.REFLECT+e,(e=>{e.REFLECT="decaf.model.db.operations.",e.CREATE="create",e.READ="read",e.UPDATE="update",e.DELETE="delete",e.ON="on.",e.AFTER="after.",e.BLOCK="block"})(C||(C={})),(e=>{e.OPERATIONS="operations",e.RELATIONS="relations"})(M||(M={})),(e=>{e.CREATE_ALL="createAll",e.READ_ALL="readAll",e.UPDATE_ALL="updateAll",e.DELETE_ALL="deleteAll"})(j||(j={}));const U={CREATE:[C.CREATE],READ:[C.READ],UPDATE:[C.UPDATE],DELETE:[C.DELETE],CREATE_UPDATE:[C.CREATE,C.UPDATE],READ_CREATE:[C.READ,C.CREATE],ALL:[C.CREATE,C.READ,C.UPDATE,C.DELETE]};class F{constructor(){this.cache={}}get(e,t,r,n){n=n||[];const s=this.resolveOwner(e),o=this.resolveTargetName(e,s);if(o){const e=this.selectHandlers(o,t,r,s);e?.length&&n.unshift(...e)}else if("string"==typeof e||e===Object.prototype||Object.getPrototypeOf(e)===Object.prototype)return n;let a=Object.getPrototypeOf(e);return a?(a.constructor&&a.constructor.name===o&&(a=Object.getPrototypeOf(a)),a?this.get(a,t,r,n):n):n}register(e,t,r,n){const s=r.constructor.name,o=F.getHandlerName(e),a=this.resolveFlavour(r.constructor);this.cache[s]||(this.cache[s]={}),this.cache[s][n]||(this.cache[s][n]={}),this.cache[s][n][t]||(this.cache[s][n][t]={}),this.cache[s][n][t][a]||(this.cache[s][n][t][a]={}),this.cache[s][n][t][a][o]||(this.cache[s][n][t][a][o]=e)}resolveOwner(e){if(e&&"string"!=typeof e)return"function"==typeof e?e:e.constructor}resolveTargetName(e,t){return"string"==typeof e?e:t?.name}resolveFlavour(r){if(!r)return e.defaultFlavour;try{return t.flavourOf(r)}catch{return e.defaultFlavour}}selectHandlers(t,r,n,s){const o=this.cache[t]?.[r]?.[n];if(!o)return;const a=o[this.resolveFlavour(s)]||o[e.defaultFlavour]||this.firstBucket(o);if(!a)return;const i=Object.values(a);return i.length?i:void 0}firstBucket(e){for(const t of Object.values(e))if(t&&Object.keys(t).length)return t}static getHandlerName(e){return e.name?e.name:d.hash(e.toString())}}class ${constructor(){}static getHandlerName(e){return F.getHandlerName(e)}static key(e){return C.REFLECT+e}static get(e,t,r){return $.registry.get(e,t,r)}static getOpRegistry(){return $.registry||($.registry=new F),$.registry}static register(e,t,r,n){$.getOpRegistry().register(e,t,r,n)}}class H extends Error{constructor(e,t,r){if(t instanceof H)return t;super(`[${e}][${r}] ${t instanceof Error?t.message:t}`),this.code=r,t instanceof Error&&(this.stack=t.stack)}get message(){return`[${this.name}] ${this.code} | ${super.message.replaceAll(/\[.*?Error\]\[\d+\]\s/g,"")}`}toString(){return this.message}}class V extends H{constructor(e,t=V.name,r=999){super(t,e,r)}}class _ extends H{constructor(e,t=_.name,r=400){super(t,e,r)}}class z extends _{constructor(e){super(e,z.name,422)}}class G extends H{constructor(e,t=G.name,r=500){super(t,e,r)}}class Y extends G{constructor(e){super(e,Y.name,500)}}class K extends _{constructor(e){super(e,K.name,404)}}class B extends _{constructor(e){super(e,B.name,409)}}const Q={priority:50},J=(e,t,r,n)=>{const s=r.constructor.name;if(!s)throw new G("Could not determine model class");n=n||{},e.props.handlers[s]&&e.props.handlers[s][t]&&(n={...e.props.handlers[s][t],...n});let o=Object.getPrototypeOf(r);return o===Object.prototype?n:(o.constructor.name===s&&(o=Object.getPrototypeOf(o)),J(e,t,o,n))};function q(e,t,r){const n=[];for(const s in t){const o=t[s];for(const t of o){const{key:o}=t,a=$.get(e,s,r+o);if(!a||!a.length)throw new G(`Could not find registered handler for the operation ${r+o} under property ${s}`);const i=J(t,s,e);if(!i)throw new G("Missing handler arguments for decorators");for(const e of a){const t=$.getHandlerName(e),r=i[t];if(!r)throw new G("Missing handler arguments for handler "+t);const o=r.data;n.push({handler:e,data:[o],prop:[s]})}}}return n}function Z(e){const t=e.reduce(((e,t)=>{if(!t||!t.data||!t.prop)throw new G("Missing decorator properties or data");if(!t.data[0].group)return e.set(Symbol(),t),e;const r=t.data[0].group;if(e.has(r)){const n=e.get(r);e.set(r,{handler:n.handler,data:[...n.data,...t.data],prop:[...n.prop,...t.prop]})}else e.set(r,{...t});return e}),new Map),r=Array.from(t.values());return r.forEach((e=>{const t=e.data.map(((t,r)=>({data:t,prop:e.prop[r]})));t.sort(((e,t)=>(e.data.groupPriority??50)-(t.data.groupPriority??50))),e.data=t.map((e=>e.data)),e.prop=t.map((e=>e.prop))})),r}function W(e){return e.sort(((e,t)=>(e.data[0].priority??50)-(t.data[0].priority??50))),e}function X(e,t,r){return oe(U.CREATE_UPDATE,e,t,r)}function ee(e,t,r){return oe(U.UPDATE,e,t,r)}function te(e,t,r){return oe(U.CREATE,e,t,r)}function re(e,t,r){return oe(U.READ,e,t,r)}function ne(e,t,r){return oe(U.DELETE,e,t,r)}function se(e,t,r){return oe(U.ALL,e,t,r)}function oe(e=U.ALL,t,r,n){return pe(C.ON,e,t,r,n)}function ae(e,t,r){return fe(U.CREATE_UPDATE,e,t,r)}function ie(e,t,r){return fe(U.UPDATE,e,t,r)}function ce(e,t,r){return fe(U.CREATE,e,t,r)}function le(e,t,r){return fe(U.READ,e,t,r)}function ue(e,t,r){return fe(U.DELETE,e,t,r)}function de(e,t,r){return fe(U.ALL,e,t,r)}function fe(e=U.ALL,t,r,n){return pe(C.AFTER,e,t,r,n)}function pe(e,s=U.ALL,o,a,i=Q){return(c,l)=>{const u=c.constructor.name,d=s.reduce(((n,s)=>{const d=e+s;let f=t.readOperation(c.constructor,l,d);f||(f={operation:s,handlers:{}});const p=$.getHandlerName(o);let h=i;if(a){if(Object.keys(a).filter((e=>e in i)).length>0)throw new G("Unable to merge groupSort into dataToAdd due to overlaping keys");h={...i,...a}}return f.handlers[u]&&f.handlers[u][l]&&p in f.handlers[u][l]||(f.handlers[u]=f.handlers[u]||{},f.handlers[u][l]=f.handlers[u][l]||{},f.handlers[u][l][p]={data:h},n.push(((e,t)=>(r,n)=>{$.register(t,e,r,n)})(d,o),r(t.key(M.OPERATIONS,l,d),f))),n}),[]);return n(...d)(c,l)}}function he(e,t){return(...r)=>s(e,{args:r,handler:t})}const Ee=e=>he(C.REFLECT+C.BLOCK,((e,t)=>e.includes(t)))(e),ge=e=>he(C.REFLECT+C.BLOCK,e)();function ye(e){return(n,s)=>r(t.key(D.GENERATED,s),e||!0)(n,s)}function me(e,t,r,n,s){if(void 0===n[r])return;const o=d.hash(n[r]);s&&n[r]===o||(n[r]=o)}function Ae(){return n(X(me),r(D.HASH,{}))}function Te(e,t,r,n){try{const{args:e,type:s,prefix:o,suffix:a,separator:i,filterEmpty:c,hashResult:l}=t,u=e.map((t=>{if(!(t in n))throw new G(`Property ${t} not found to compose from`);if("keys"===s)return t;if(void 0===n[t]){if(c){if(!Array.isArray(c))return;if(c.includes(t))return}throw new G(`Property ${e} does not contain a value to compose from`)}return n[t].toString()})).filter((e=>!c||!!e));o&&u.unshift(o),a&&u.push(a);const f=u.map((e=>"object"==typeof e&&"[object Object]"===e.toString()?JSON.stringify(e):e)).join(i);n[r]=l?d.hash(f):f}catch(e){throw new G("Failed to compose value: "+e)}}function we(s,o=!1,a=S,i=!1,c="values",l="",u="",d={priority:55}){return e.for(D.COMPOSED).define({decorator:(e,s,o,a,c,l,u)=>(d,f)=>{const p={args:e,hashResult:s,separator:o,type:a,prefix:c,suffix:l,filterEmpty:i},h=[ye(D.COMPOSED),X(Te,p,u),r(t.key(D.COMPOSED,f),p)];return s&&h.push(Ae()),n(...h)(d,f)},args:[s,o,a,c,l,u,d]}).apply()}function Pe(e,t=S,r=!1,n=!1,s="",o="",a={priority:55}){return we(e,n,t,r,"keys",s,o,a)}function Oe(e,t=S,r=!1,n=!1,s="",o="",a={priority:55}){return we(e,n,t,r,"values",s,o,a)}function Re(e){return(t,r,n,s,o)=>{if(f.shouldGenerate(s,n,t))try{switch(e){case C.CREATE:s[n]=1;break;case C.UPDATE:if(t.get("applyUpdateValidation")&&o&&s[n]!==o[n])throw new z(`Version mismatch: ${s[n]} !== ${o[n]}`);s[n]++;break;default:throw new G("Invalid operation: "+e)}}catch(e){throw new G("Failed to update version: "+e)}}}function ve(){const t=D.VERSION;return e.for(t).define(ye(D.VERSION),p(Number),te(Re(C.CREATE)),ee(Re(C.UPDATE)),r(t,!0)).apply()}function De(){return e.for(D.TRANSIENT).define(((e,n)=>{s(D.TRANSIENT,!0)(e.constructor),r(t.key(D.TRANSIENT,n),{})(e,n)})).apply()}function Se(t=L.READONLY.INVALID){const r=D.READONLY,n={message:t,description:"defines the attribute as readOnly",async:!1};return e.for(r).define({decorator:h,args:[Se,r,n]}).apply()}async function be(e,t,r,n){f.shouldGenerate(n,r,e)&&(n[r]=e.timestamp)}function Le(t=U.CREATE_UPDATE,s=b){const o=D.TIMESTAMP,a=u.updateKey(D.TIMESTAMP);return e.for(o).define({decorator:(e,t)=>{const s=[ye(D.TIMESTAMP),E(t,L.TIMESTAMP.DATE),g(L.TIMESTAMP.REQUIRED),r(u.key(D.TIMESTAMP),{operation:e,format:t}),oe(e,be)];return-1!==e.indexOf(C.UPDATE)?s.push(r(a,{message:L.TIMESTAMP.INVALID})):s.push(Se()),n(...s)},args:[t,s]}).apply()}async function Ne(e,t,r,n){if(n[r])try{n[r]=t.serializer?(new t.serializer).serialize(n[r]):JSON.stringify(n[r])}catch(e){throw new Y(`Failed to serialize ${r.toString()} property of model ${n.constructor.name}: ${e}`)}}async function Ie(e,t,r,n){if(n[r]&&"string"==typeof n[r])try{n[r]=t.serializer?(new t.serializer).deserialize(n[r]):JSON.parse(n[r])}catch(e){throw new Y(`Failed to deserialize ${r.toString()} property of model ${n.constructor.name}: ${e}`)}}function xe(e){return n(X(Ne,{serializer:e}),fe(U.ALL,Ie,{serializer:e}),p([String,Object]),s(D.SERIALIZE,{serializer:e}))}function ke(){return n(g(),Se(),((e,n)=>r(t.key(D.ID,n),{})(e,n)))}function Ce(e,r){const n=[];for(const s in e){if(!Object.prototype.hasOwnProperty.call(e,s)||r.includes(s))continue;const o=t.validationFor(e.constructor,s)||{};n.push({prop:s,decorators:o})}return n}function Me(e,t,r,n,s){const o=u.get(n.key);if(!o)throw Error("Missing validator for "+n.key);if(!o.updateHasErrors)return y(void 0,s);if(!s&&n.async)return y(void 0,s);const a=Object.values(n)||{},i=o.updateHasErrors(e[r],t[r],...a);return y(i,s)}function je(e,t,r,n,s){const o={};for(const a in n){const i={...n[a],key:a};if(!s&&i.async)continue;let c=Me(e,t,r,i,s);if(i.key===m.LIST&&(!c||s)){const n=e[r],o=t[r],a=n instanceof Set?[...n]:n,l=o instanceof Set?[...o]:o;if(a?.length){const e=[i.class||i.clazz||i.customTypes].flat().map((e=>((e=(e="function"!=typeof e||e.name?e:e()).name?e.name:e)+"").toLowerCase())),t=a.map((t=>{if(f.isModel(t)){const e=f.pk(t,!0);if(!e)return"Failed to find model id";const r=l.find((t=>e===f.pk(t,!0)));return t.hasErrors(r)}return e.includes(typeof t)?void 0:"Value has no validatable type"}));if(s)c=Promise.all(t).then((e=>e.every((e=>!e))?void 0:e));else{const e=t.every((e=>!e));c=t.length>0&&!e?t:void 0}}}c&&(o[i.key]=c)}if(!s)return Object.keys(o).length>0?o:void 0;const a=Object.keys(o),i=Object.values(o);return Promise.all(i).then((e=>{const t={};for(let r=0;r<e.length;r++){const n=e[r];void 0!==n&&(t[a[r]]=n)}return Object.keys(t).length>0?t:void 0}))}function Ue(e,r,n,...s){const a=Ce(r,s),i={},c={};for(const{prop:l,decorators:u}of a){const a=l+"",d=r[l],{designTypes:p}=t.getPropDesignTypes(r.constructor,l);if(!p)continue;if(p.some((e=>[Array.name,Set.name].includes(e)))){if(!u||!Object.keys(u).includes(m.LIST)){i[a]={[m.TYPE]:`Array or Set property '${a}' requires a @list decorator`};continue}if(d&&!(Array.isArray(d)||d instanceof Set)){i[a]={[m.TYPE]:`Property '${l+""}' must be either an Array or a Set`};continue}}const h=je(r,e,a,u,n)||{},E=f.isPropertyModel(r,a);if(null!=d&&E){const t=d,r=p.map((e=>f.get(e.name||e))).find((e=>!!e)),n=p.map((e=>"function"==typeof e?e.name?e.name.toLowerCase():e()?.name.toLowerCase():e.toLowerCase()));if(r&&d instanceof r){const r=A(a,...s);c[a]=t.hasErrors(e[l],...r)}else n.includes(typeof d)||(h[m.TYPE]=r?"Value must be an instance of "+r.name:`Unable to verify type consistency, missing model registry for ${p.toString()} on prop ${a}`,delete h[o.TYPE])}(Object.keys(h).length>0||n)&&(i[a]=h),n||Object.entries(c[a]||{}).forEach((([e,t])=>{void 0!==t&&(i[`${a}.${e}`]=t)}))}if(!n)return Object.keys(i).length>0?new T(i):void 0;const l=i,u=Object.keys(l),d=Object.values(l);return Promise.allSettled(d).then((async e=>{const t={};for(const[e,r]of Object.entries(c)){const n=await r;n&&Object.entries(n).forEach((([r,n])=>{void 0!==n&&(t[[e,r].join(".")]=n)}))}for(let r=0;r<e.length;r++){const n=u[r],s=e[r];"fulfilled"===s.status&&void 0!==s.value?t[n]=s.value:"rejected"===s.status&&(t[n]=s.reason instanceof Error?s.reason.message:(s.reason||"Validation failed")+"")}return Object.keys(t).length>0?new T(t):void 0}))}function Fe(e){return e.reduce(((e,t,r)=>(t&&(e="string"==typeof e?e+`\n - ${r}: ${t.toString()}`:` - ${r}: ${t.toString()}`),e)),void 0)}async function $e(e,t,r,n,s,o){const a=He(r,n,s);if(!a)return;const i=W(Z(q(r,a,s)));for(const s of i){const a=[t,s.data.length>1?s.data:s.data[0],s.prop.length>1?s.prop:s.prop[0],r];if([C.UPDATE,j.UPDATE_ALL].includes(n)){if(!o)throw new G("Missing old model for update operation");a.push(o)}try{await s.handler.apply(e,a)}catch(n){const o=`Failed to execute handler ${s.handler.name} for ${s.prop} on ${r.constructor.name}`;let a=n;if(n instanceof H||(a=e.adapter.parseError(n)),a instanceof H?Object.defineProperty(n,"message",{value:o+" "+a.message}):a=new G(o+" "+a.message),t.get("breakOnHandlerError"))throw a;t.logger.for($e).error(o)}}}function He(e,r,n){const s=n?.replace(/[.]$/,""),o=t.get(e.constructor,M.OPERATIONS);if(o)return Object.keys(o).reduce(((e,t)=>{const n=s?o[t][s]||{}:o[t],a=Object.keys(n).filter((e=>e===r)),i=[];for(const e of a)i.push({key:e,props:n[e]});return i&&i.length&&(e||(e={}),e[t]=i),e}),void 0)}f.prototype.isTransient=function(){return t.isTransient(this)},f.prototype.hasErrors=function(e,...t){!e||e instanceof f||(t.unshift(e),e=void 0);const r=this.isAsync(),n=w(this,r,...t);return r?Promise.resolve(n).then((n=>n||!e?n:Ue(e,this,r,...t))):n||!e?n:Ue(e,this,r,...t)},f.prototype.segregate=function(){return f.segregate(this)},f.segregate=e=>{if(!t.isTransient(e))return{model:e};const r=t.validatableProperties(e.constructor),n=t.get(e.constructor,D.TRANSIENT),s={model:{},transient:{}};for(const t of r)if(Object.keys(n).includes(t)){s.transient=s.transient||{};try{s.transient[t]=e[t]}catch(e){throw new Y(`Failed to serialize transient property ${t}: ${e}`)}}else s.model=s.model||{},s.model[t]=e[t];return s.model=f.build(s.model,e.constructor.name),s},f.pk=((e,r=!1)=>{if(!e)throw Error("No model was provided");const n=e instanceof f?e.constructor:e,s=t.get(n,D.ID);if(!s)throw Error("No Id property defined for model "+(n?.name||"Unknown Model"));const o=Object.keys(s)[0];if(!r)return o;if(e instanceof f)return e[o];throw Error("Cannot get the value of the pk from the constructor")}).bind(f),f.pkProps=(e=>t.get(e,t.key(D.ID,f.pk(e)))).bind(f),f.isTransient=(e=>!!t.get("function"!=typeof e?e.constructor:e,D.TRANSIENT)).bind(f),f.composed=((e,r)=>{const n=e instanceof f?e.constructor:e;return r?t.get(n,t.key(D.COMPOSED,r)):!!t.get(n,D.COMPOSED)}).bind(f),f.merge=((e,t,r)=>{const n=e=>Object.entries(e).reduce(((e,[t,r])=>(void 0!==r&&(e[t]=r),e)),{});return new(r=r||e.constructor)(Object.assign({},n(e),n(t)))}).bind(f),t.saveOperation=((e,r,n,s)=>{r&&t.set(e,t.key(M.OPERATIONS,r,n),s)}).bind(t),t.readOperation=((e,r,n)=>{if(r&&n)return t.get(e,t.key(M.OPERATIONS,r,n))}).bind(t),t.isTransient=(e=>!!t.get("function"!=typeof e?e.constructor:e,D.TRANSIENT)).bind(t),f.generated=((e,r)=>!!t.get("function"!=typeof e?e.constructor:e,t.key(D.GENERATED,r))).bind(f),f.shouldGenerate=((e,t,r)=>!r.get("allowGenerationOverride")||void 0===e[t]).bind(f);const Ve={parentContext:void 0,childContexts:[],ignoredValidationProperties:[],callArgs:[],writeOperation:!1,affectedTables:[],operation:void 0,breakOnHandlerError:!0,rebuildWithTransient:!0,ignoreValidation:!1,ignoreHandlers:!1,ignoreDevSafeGuards:!1,mergeForUpdate:!0,applyUpdateValidation:!0,allowGenerationOverride:!1},_e=e=>(new ze).accumulate(Object.assign({},e,{timestamp:new Date,logger:e.logger||v.get()}));class ze{constructor(e){this.cache=new R,Object.defineProperty(this,"cache",{value:e?e.cache:new R,writable:!1,enumerable:!1,configurable:!0})}static{this.factory=_e}accumulate(e){return Object.defineProperty(this,"cache",{value:this.cache.accumulate(e),writable:!1,enumerable:!1,configurable:!0}),this}get logger(){return this.cache.logger}get timestamp(){return this.cache.timestamp}get(e){try{return this.cache.get(e)}catch(t){const r=this.cache.parentContext;if(r)return r.get(e);throw t}}static childFrom(e,t){return ze.factory(Object.assign({},e.cache,t||{}))}static async from(e,t,r,...n){return ze.factory(Object.assign({},Ve,t,{operation:e,model:r,logger:t.logger||v.get()}))}static async args(e,t,r,n,s){const o=r.pop();async function a(){return n?n.context(e,s||{},t,...r):ze.from(e,s||{},t,...r)}let i;return o?o instanceof ze?(i=o,r.push(o)):(r.push(o),i=await a(),r.push(i)):(i=await a(),r.push(i)),{context:i,args:r}}}function Ge(e,t,r,n){const s=n||t.name;e[s]=new Proxy(e[s],{apply:async(e,t,n)=>{let s=r.call(t,...n);return s instanceof Promise&&(s=await s),s=e.call(t,...s),s instanceof Promise&&(s=await s),s}})}function Ye(e,t,r,n){const s=n||t.name;e[s]=new Proxy(e[s],{apply:async(e,t,n)=>{let s=e.call(t,...n);return s instanceof Promise&&(s=await s),s=r.call(t,...s),s instanceof Promise&&(s=await s),s}})}function Ke(e,t,r,n,s){const o=s||r.name;e[o]=new Proxy(e[o],{apply:async(e,r,s)=>{let o=t.call(r,...s);o instanceof Promise&&(o=await o);const a=o[o.length-1];if(!(a instanceof ze))throw new G("Missing a context");let i=e.call(r,...o);return i instanceof Promise&&(i=await i),i=n.call(r,i,a),i instanceof Promise&&(i=await i),i}})}function Be(e,t,r,n,s){const o=s||r.name;e[o]=new Proxy(e[o],{apply:async(e,r,s)=>{let o=t.call(r,...s);o instanceof Promise&&(o=await o);const a=o.pop(),i=o[o.length-1];if(!(i instanceof ze))throw new G("Missing a context");if(i.get("applyUpdateValidation")&&!i.get("ignoreDevSafeGuards")&&!(a instanceof f)&&(!Array.isArray(a)||!a.every((e=>e instanceof f))))throw new G("No previous versions os models found");let c=e.call(r,...o);return c instanceof Promise&&(c=await c),c=n.call(r,c,a,i),c instanceof Promise&&(c=await c),c}})}class Qe{get class(){if(!this._class)throw new G("No class definition found for this repository");return this._class}get pk(){return f.pk(this.class)}get pkProps(){return f.pkProps(this.class)}constructor(e){e&&(this._class=e);const t=this;[this.create,this.read,this.delete].forEach((e=>{const r=e.name;Ke(t,t[r+"Prefix"],e,t[r+"Suffix"])})),Be(t,t[this.update.name+"Prefix"],this.update,t[this.update.name+"Suffix"])}async createAll(e,...t){return Promise.all(e.map((e=>this.create(e,...t))))}async createPrefix(e,...t){const r=await ze.args(C.CREATE,this.class,t);if(e=new this.class(e),r.context.get("ignoreHandlers")||await $e(this,r.context,e,C.CREATE,C.ON),!r.context.get("ignoreValidation")){const t=await Promise.resolve(e.hasErrors());if(t)throw new z(t.toString())}return[e,...r.args]}async createSuffix(e,t){return t.get("ignoreHandlers")||await $e(this,t,e,C.CREATE,C.AFTER),e}async createAllPrefix(e,...t){const r=await ze.args(C.CREATE,this.class,t),n=r.context.get("ignoreHandlers"),s=r.context.get("ignoreValidation");if(e=await Promise.all(e.map((async e=>{const t=new this.class(e);return n||await $e(this,r.context,t,C.CREATE,C.ON),t}))),!s){const t=Fe(await Promise.all(e.map((e=>Promise.resolve(e.hasErrors())))));if(t)throw new z(t)}return[e,...r.args]}async createAllSuffix(e,t){return t.get("ignoreHandlers")||await Promise.all(e.map((e=>$e(this,t,e,C.CREATE,C.AFTER)))),e}async readAll(e,...t){return await Promise.all(e.map((e=>this.read(e,...t))))}async readSuffix(e,t){return t.get("ignoreHandlers")||await $e(this,t,e,C.READ,C.AFTER),e}async readPrefix(e,...t){const r=await ze.args(C.READ,this.class,t),n=new this.class;return n[this.pk]=e,await $e(this,r.context,n,C.READ,C.ON),[e,...r.args]}async readAllPrefix(e,...t){const r=await ze.args(C.READ,this.class,t);return await Promise.all(e.map((async e=>{const t=new this.class;return t[this.pk]=e,$e(this,r.context,t,C.READ,C.ON)}))),[e,...r.args]}async readAllSuffix(e,t){return t.get("ignoreHandlers")||await Promise.all(e.map((e=>$e(this,t,e,C.READ,C.AFTER)))),e}async updateAll(e,...t){return Promise.all(e.map((e=>this.update(e,...t))))}async updateSuffix(e,t,r){return r.get("ignoreHandlers")||await $e(this,r,e,C.UPDATE,C.AFTER,t),e}async updatePrefix(e,...t){const r=await ze.args(C.UPDATE,this.class,t),n=r.context,s=r.context.get("ignoreHandlers"),o=r.context.get("ignoreValidation"),a=e[this.pk];if(!a)throw new G("No value for the Id is defined under the property "+this.pk);let i;if(n.get("applyUpdateValidation")&&(i=await this.read(a),n.get("mergeForUpdate")&&(e=f.merge(i,e,this.class))),s||await $e(this,r.context,e,C.UPDATE,C.ON,i),!o){const t=await Promise.resolve(e.hasErrors(i));if(t)throw new z(t.toString())}return[e,...r.args,i]}async updateAllPrefix(e,...t){const r=await ze.args(C.UPDATE,this.class,t),n=r.context,s=n.get("ignoreHandlers"),o=n.get("ignoreValidation"),a=e.map((e=>{const t=e[this.pk];if(void 0===t)throw new G("No value for the Id is defined under the property "+this.pk);return t}));let i;if(n.get("applyUpdateValidation")&&(i=await this.readAll(a,n),n.get("mergeForUpdate")&&(e=e.map(((e,t)=>f.merge(i[t],e,this.class))))),s||await Promise.all(e.map(((e,t)=>$e(this,r.context,e,C.UPDATE,C.ON,i?i[t]:void 0)))),!o){let t;t=n.get("applyUpdateValidation")?await Promise.all(e.map(((e,t)=>Promise.resolve(e.hasErrors(i[t]))))):await Promise.resolve(e.map((e=>e.hasErrors())));const r=Fe(t);if(r)throw new z(r)}return[e,...r.args,i]}async updateAllSuffix(e,t,r){if(r.get("applyUpdateValidation")&&!r.get("ignoreDevSafeGuards")&&!t)throw new G("No previous versions of models provided");return r.get("ignoreHandlers")||await Promise.all(e.map(((e,n)=>$e(this,r,e,C.UPDATE,C.AFTER,t?t[n]:void 0)))),e}async deleteAll(e,...t){return Promise.all(e.map((e=>this.delete(e,...t))))}async deleteSuffix(e,t){return t.get("ignoreHandlers")||await $e(this,t,e,C.DELETE,C.AFTER),e}async deletePrefix(e,...t){const r=await ze.args(C.DELETE,this.class,t),n=await this.read(e,...r.args);return await $e(this,r.context,n,C.DELETE,C.ON),[e,...r.args]}async deleteAllPrefix(e,...t){const r=await ze.args(C.DELETE,this.class,t),n=await this.readAll(e,...r.args);return await Promise.all(n.map((async e=>$e(this,r.context,e,C.DELETE,C.ON)))),[e,...r.args]}async deleteAllSuffix(e,t){return t.get("ignoreHandlers")||await Promise.all(e.map((e=>$e(this,t,e,C.DELETE,C.AFTER)))),e}toString(){return this.class.name+" Repository"}}const Je="##VERSION##",qe="##PACKAGE##";t.registerLibrary(qe,Je);export{_ as BadRequestError,H as BaseError,ge as BlockOperationIf,Ee as BlockOperations,V as BreakError,j as BulkCrudOperationKeys,B as ConflictError,ze as Context,D as DBKeys,U as DBOperations,L as DEFAULT_ERROR_MESSAGES,b as DEFAULT_TIMESTAMP_FORMAT,_e as DefaultContextFactory,Ve as DefaultRepositoryFlags,S as DefaultSeparator,G as InternalError,M as ModelOperations,K as NotFoundError,C as OperationKeys,$ as Operations,F as OperationsRegistry,qe as PACKAGE_NAME,I as ReadOnlyValidator,Qe as Repository,Y as SerializationError,x as TimestampValidator,N as UpdateValidationKeys,k as UpdateValidator,Je as VERSION,z as ValidationError,fe as after,de as afterAny,ce as afterCreate,ae as afterCreateUpdate,ue as afterDelete,le as afterRead,ie as afterUpdate,Oe as composed,Te as composedFromCreateUpdate,Pe as composedFromKeys,$e as enforceDBDecorators,ye as generated,He as getDbDecorators,J as getHandlerArgs,q as getHandlersDecorators,Ce as getValidatableUpdateProps,Z as groupDecorators,Ae as hash,me as hashOnCreateUpdate,ke as id,oe as on,se as onAny,te as onCreate,X as onCreateUpdate,ne as onDelete,re as onRead,ee as onUpdate,pe as operation,Ge as prefixMethod,Se as readonly,Fe as reduceErrorsToPrint,xe as serialize,Ie as serializeAfterAll,Ne as serializeOnCreateUpdate,W as sortDecorators,he as storeHandlerMetadata,Ye as suffixMethod,Le as timestamp,be as timestampHandler,De as transient,Ue as validateCompare,Me as validateDecorator,je as validateDecorators,ve as version,Re as versionCreateUpdate,Ke as wrapMethodWithContext,Be as wrapMethodWithContextForUpdate};
1
+ import{Decoration as e,Metadata as t,propMetadata as r,apply as n,metadata as s}from"@decaf-ts/decoration";import{ModelKeys as o,validator as a,Validator as i,isEqual as c,DEFAULT_ERROR_MESSAGES as l,Validation as u,Hashing as d,type as f,Model as p,innerValidationDecorator as h,date as E,required as g,ValidationKeys as y,getChildNestedPropsToIgnore as m,ModelErrorDefinition as A,toConditionalPromise as T,validate as w}from"@decaf-ts/decorator-validation";import{__decorate as P,__metadata as O}from"tslib";import{ObjectAccumulator as R}from"typed-object-accumulator";import{Logging as v}from"@decaf-ts/logging";const D={REFLECT:o.MODEL+".persistence.",REPOSITORY:"repository",CLASS:"_class",ID:"id",INDEX:"index",UNIQUE:"unique",SERIALIZE:"serialize",READONLY:"readonly",TIMESTAMP:"timestamp",TRANSIENT:"transient",HASH:"hash",COMPOSED:"composed",GENERATED:"generated",VERSION:"version",ORIGINAL:"__originalObj"},S="_",b="dd/MM/yyyy HH:mm:ss:S",L={ID:{INVALID:"This Id is invalid",REQUIRED:"The Id is mandatory"},READONLY:{INVALID:"This cannot be updated"},TIMESTAMP:{REQUIRED:"Timestamp is Mandatory",DATE:"The Timestamp must the a valid date",INVALID:"This value must always increase"}},N={REFLECT:"db.update.validation.",TIMESTAMP:D.TIMESTAMP,READONLY:D.READONLY};let I=class extends i{constructor(){super(L.READONLY.INVALID)}hasErrors(e,...t){}updateHasErrors(e,t,r){if(void 0!==e)return c(e,t)?void 0:this.getMessage(r||this.message)}};I=P([a(N.READONLY),O("design:paramtypes",[])],I);let x=class extends i{constructor(){super(L.TIMESTAMP.INVALID)}hasErrors(e,...t){}updateHasErrors(e,t,r){if(void 0!==e){r=r||this.getMessage(r||this.message);try{e=new Date(e),t=new Date(t)}catch(e){return r}return e>t?void 0:r}}};x=P([a(N.TIMESTAMP),O("design:paramtypes",[])],x);class k extends i{constructor(e=l.DEFAULT,...t){super(e,...t)}}var C,M,j;u.updateKey=e=>N.REFLECT+e,(e=>{e.REFLECT="decaf.model.db.operations.",e.CREATE="create",e.READ="read",e.UPDATE="update",e.DELETE="delete",e.ON="on.",e.AFTER="after.",e.BLOCK="block"})(C||(C={})),(e=>{e.OPERATIONS="operations",e.RELATIONS="relations"})(M||(M={})),(e=>{e.CREATE_ALL="createAll",e.READ_ALL="readAll",e.UPDATE_ALL="updateAll",e.DELETE_ALL="deleteAll"})(j||(j={}));const U={CREATE:[C.CREATE],READ:[C.READ],UPDATE:[C.UPDATE],DELETE:[C.DELETE],CREATE_UPDATE:[C.CREATE,C.UPDATE],READ_CREATE:[C.READ,C.CREATE],ALL:[C.CREATE,C.READ,C.UPDATE,C.DELETE]};class F{constructor(){this.cache={}}get(e,t,r,n){n=n||[];const s=this.resolveOwner(e),o=this.resolveTargetName(e,s);if(o){const e=this.selectHandlers(o,t,r,s);e?.length&&n.unshift(...e)}else if("string"==typeof e||e===Object.prototype||Object.getPrototypeOf(e)===Object.prototype)return n;let a=Object.getPrototypeOf(e);return a?(a.constructor&&a.constructor.name===o&&(a=Object.getPrototypeOf(a)),a?this.get(a,t,r,n):n):n}register(e,t,r,n){const s=r.constructor.name,o=F.getHandlerName(e),a=this.resolveFlavour(r.constructor);this.cache[s]||(this.cache[s]={}),this.cache[s][n]||(this.cache[s][n]={}),this.cache[s][n][t]||(this.cache[s][n][t]={}),this.cache[s][n][t][a]||(this.cache[s][n][t][a]={}),this.cache[s][n][t][a][o]||(this.cache[s][n][t][a][o]=e)}resolveOwner(e){if(e&&"string"!=typeof e)return"function"==typeof e?e:e.constructor}resolveTargetName(e,t){return"string"==typeof e?e:t?.name}resolveFlavour(r){if(!r)return e.defaultFlavour;try{return t.flavourOf(r)}catch{return e.defaultFlavour}}selectHandlers(t,r,n,s){const o=this.cache[t]?.[r]?.[n];if(!o)return;const a=o[this.resolveFlavour(s)]||o[e.defaultFlavour]||this.firstBucket(o);if(!a)return;const i=Object.values(a);return i.length?i:void 0}firstBucket(e){for(const t of Object.values(e))if(t&&Object.keys(t).length)return t}static getHandlerName(e){return e.name?e.name:d.hash(e.toString())}}class ${constructor(){}static getHandlerName(e){return F.getHandlerName(e)}static key(e){return C.REFLECT+e}static get(e,t,r){return $.registry.get(e,t,r)}static getOpRegistry(){return $.registry||($.registry=new F),$.registry}static register(e,t,r,n){$.getOpRegistry().register(e,t,r,n)}}class H extends Error{constructor(e,t,r){if(t instanceof H)return t;super(`[${e}][${r}] ${t instanceof Error?t.message:t}`),this.code=r,t instanceof Error&&(this.stack=t.stack)}get message(){return`[${this.name}] ${this.code} | ${super.message.replaceAll(/\[.*?Error\]\[\d+\]\s/g,"")}`}toString(){return this.message}}class V extends H{constructor(e,t=V.name,r=999){super(t,e,r)}}class _ extends H{constructor(e,t=_.name,r=400){super(t,e,r)}}class z extends _{constructor(e){super(e,z.name,422)}}class G extends H{constructor(e,t=G.name,r=500){super(t,e,r)}}class Y extends G{constructor(e){super(e,Y.name,500)}}class K extends _{constructor(e){super(e,K.name,404)}}class B extends _{constructor(e){super(e,B.name,409)}}const Q={priority:50},J=(e,t,r,n)=>{const s=r.constructor.name;if(!s)throw new G("Could not determine model class");n=n||{},e.props.handlers[s]&&e.props.handlers[s][t]&&(n={...e.props.handlers[s][t],...n});let o=Object.getPrototypeOf(r);return o===Object.prototype?n:(o.constructor.name===s&&(o=Object.getPrototypeOf(o)),J(e,t,o,n))};function q(e,t,r){const n=[];for(const s in t){const o=t[s];for(const t of o){const{key:o}=t,a=$.get(e,s,r+o);if(!a||!a.length)throw new G(`Could not find registered handler for the operation ${r+o} under property ${s}`);const i=J(t,s,e);if(!i)throw new G("Missing handler arguments for decorators");for(const e of a){const t=$.getHandlerName(e),r=i[t];if(!r)throw new G("Missing handler arguments for handler "+t);const o=r.data;n.push({handler:e,data:[o],prop:[s]})}}}return n}function Z(e){const t=e.reduce((e,t)=>{if(!t||!t.data||!t.prop)throw new G("Missing decorator properties or data");if(!t.data[0].group)return e.set(Symbol(),t),e;const r=t.data[0].group;if(e.has(r)){const n=e.get(r);e.set(r,{handler:n.handler,data:[...n.data,...t.data],prop:[...n.prop,...t.prop]})}else e.set(r,{...t});return e},new Map),r=Array.from(t.values());return r.forEach(e=>{const t=e.data.map((t,r)=>({data:t,prop:e.prop[r]}));t.sort((e,t)=>(e.data.groupPriority??50)-(t.data.groupPriority??50)),e.data=t.map(e=>e.data),e.prop=t.map(e=>e.prop)}),r}function W(e){return e.sort((e,t)=>(e.data[0].priority??50)-(t.data[0].priority??50)),e}function X(e,t,r){return oe(U.CREATE_UPDATE,e,t,r)}function ee(e,t,r){return oe(U.UPDATE,e,t,r)}function te(e,t,r){return oe(U.CREATE,e,t,r)}function re(e,t,r){return oe(U.READ,e,t,r)}function ne(e,t,r){return oe(U.DELETE,e,t,r)}function se(e,t,r){return oe(U.ALL,e,t,r)}function oe(e=U.ALL,t,r,n){return pe(C.ON,e,t,r,n)}function ae(e,t,r){return fe(U.CREATE_UPDATE,e,t,r)}function ie(e,t,r){return fe(U.UPDATE,e,t,r)}function ce(e,t,r){return fe(U.CREATE,e,t,r)}function le(e,t,r){return fe(U.READ,e,t,r)}function ue(e,t,r){return fe(U.DELETE,e,t,r)}function de(e,t,r){return fe(U.ALL,e,t,r)}function fe(e=U.ALL,t,r,n){return pe(C.AFTER,e,t,r,n)}function pe(e,s=U.ALL,o,a,i=Q){return(c,l)=>{const u=c.constructor.name,d=s.reduce((n,s)=>{const d=e+s;let f=t.readOperation(c.constructor,l,d);f||(f={operation:s,handlers:{}});const p=$.getHandlerName(o);let h=i;if(a){if(Object.keys(a).filter(e=>e in i).length>0)throw new G("Unable to merge groupSort into dataToAdd due to overlaping keys");h={...i,...a}}return f.handlers[u]&&f.handlers[u][l]&&p in f.handlers[u][l]||(f.handlers[u]=f.handlers[u]||{},f.handlers[u][l]=f.handlers[u][l]||{},f.handlers[u][l][p]={data:h},n.push(((e,t)=>(r,n)=>{$.register(t,e,r,n)})(d,o),r(t.key(M.OPERATIONS,l,d),f))),n},[]);return n(...d)(c,l)}}function he(e,t){return(...r)=>s(e,{args:r,handler:t})}const Ee=e=>he(C.REFLECT+C.BLOCK,(e,t)=>e.includes(t))(e),ge=e=>he(C.REFLECT+C.BLOCK,e)();function ye(e){return(n,s)=>r(t.key(D.GENERATED,s),e||!0)(n,s)}function me(e,t,r,n,s){if(void 0===n[r])return;const o=d.hash(n[r]);s&&n[r]===o||(n[r]=o)}function Ae(){return n(X(me),r(D.HASH,{}))}function Te(e,t,r,n){try{const{args:e,type:s,prefix:o,suffix:a,separator:i,filterEmpty:c,hashResult:l}=t,u=e.map(t=>{if(!(t in n))throw new G(`Property ${t} not found to compose from`);if("keys"===s)return t;if(void 0===n[t]){if(c){if(!Array.isArray(c))return;if(c.includes(t))return}throw new G(`Property ${e} does not contain a value to compose from`)}return n[t].toString()}).filter(e=>!c||!!e);o&&u.unshift(o),a&&u.push(a);const f=u.map(e=>"object"==typeof e&&"[object Object]"===e.toString()?JSON.stringify(e):e).join(i);n[r]=l?d.hash(f):f}catch(e){throw new G("Failed to compose value: "+e)}}function we(s,o=!1,a=S,i=!1,c="values",l="",u="",d={priority:55}){return e.for(D.COMPOSED).define({decorator:(e,s,o,a,c,l,u)=>(d,f)=>{const p={args:e,hashResult:s,separator:o,type:a,prefix:c,suffix:l,filterEmpty:i},h=[ye(D.COMPOSED),X(Te,p,u),r(t.key(D.COMPOSED,f),p)];return s&&h.push(Ae()),n(...h)(d,f)},args:[s,o,a,c,l,u,d]}).apply()}function Pe(e,t=S,r=!1,n=!1,s="",o="",a={priority:55}){return we(e,n,t,r,"keys",s,o,a)}function Oe(e,t=S,r=!1,n=!1,s="",o="",a={priority:55}){return we(e,n,t,r,"values",s,o,a)}function Re(e){return(t,r,n,s,o)=>{if(p.shouldGenerate(s,n,t))try{switch(e){case C.CREATE:s[n]=1;break;case C.UPDATE:if(t.get("applyUpdateValidation")&&o&&s[n]!==o[n])throw new z(`Version mismatch: ${s[n]} !== ${o[n]}`);s[n]++;break;default:throw new G("Invalid operation: "+e)}}catch(e){throw new G("Failed to update version: "+e)}}}function ve(){const t=D.VERSION;return e.for(t).define(ye(D.VERSION),f(Number),te(Re(C.CREATE)),ee(Re(C.UPDATE)),r(t,!0)).apply()}function De(){return e.for(D.TRANSIENT).define((e,n)=>{r(t.key(D.TRANSIENT,n),{})(e,n)}).apply()}function Se(t=L.READONLY.INVALID){const r=D.READONLY,n={message:t,description:"defines the attribute as readOnly",async:!1};return e.for(r).define({decorator:h,args:[Se,r,n]}).apply()}async function be(e,t,r,n){p.shouldGenerate(n,r,e)&&(n[r]=e.timestamp)}function Le(t=U.CREATE_UPDATE,s=b){const o=D.TIMESTAMP,a=u.updateKey(D.TIMESTAMP);return e.for(o).define({decorator:(e,t)=>{const s=[ye(D.TIMESTAMP),E(t,L.TIMESTAMP.DATE),g(L.TIMESTAMP.REQUIRED),r(u.key(D.TIMESTAMP),{operation:e,format:t}),oe(e,be)];return-1!==e.indexOf(C.UPDATE)?s.push(r(a,{message:L.TIMESTAMP.INVALID})):s.push(Se()),n(...s)},args:[t,s]}).apply()}async function Ne(e,t,r,n){if(n[r])try{n[r]=t.serializer?(new t.serializer).serialize(n[r]):JSON.stringify(n[r])}catch(e){throw new Y(`Failed to serialize ${r.toString()} property of model ${n.constructor.name}: ${e}`)}}async function Ie(e,t,r,n){if(n[r]&&"string"==typeof n[r])try{n[r]=t.serializer?(new t.serializer).deserialize(n[r]):JSON.parse(n[r])}catch(e){throw new Y(`Failed to deserialize ${r.toString()} property of model ${n.constructor.name}: ${e}`)}}function xe(e){return n(X(Ne,{serializer:e}),fe(U.ALL,Ie,{serializer:e}),f([String,Object]),s(D.SERIALIZE,{serializer:e}))}function ke(){return n(g(),Se(),(e,n)=>r(t.key(D.ID,n),{})(e,n))}function Ce(e,r){const n=[];for(const s in e){if(!Object.prototype.hasOwnProperty.call(e,s)||r.includes(s))continue;const o=t.validationFor(e.constructor,s)||{};n.push({prop:s,decorators:o})}return n}function Me(e,t,r,n,s){const o=u.get(n.key);if(!o)throw Error("Missing validator for "+n.key);if(!o.updateHasErrors)return T(void 0,s);if(!s&&n.async)return T(void 0,s);const a=Object.values(n)||{},i=o.updateHasErrors(e[r],t[r],...a);return T(i,s)}function je(e,t,r,n,s){const o={};for(const a in n){const i={...n[a],key:a};if(!s&&i.async)continue;let c=Me(e,t,r,i,s);if(i.key===y.LIST&&(!c||s)){const n=e[r],o=t[r],a=n instanceof Set?[...n]:n,l=o instanceof Set?[...o]:o;if(a?.length){const e=[i.class||i.clazz||i.customTypes].flat().map(e=>((e=(e="function"!=typeof e||e.name?e:e()).name?e.name:e)+"").toLowerCase()),t=a.map(t=>{if(p.isModel(t)){const e=p.pk(t,!0);if(!e)return"Failed to find model id";const r=l.find(t=>e===p.pk(t,!0));return t.hasErrors(r)}return e.includes(typeof t)?void 0:"Value has no validatable type"});if(s)c=Promise.all(t).then(e=>e.every(e=>!e)?void 0:e);else{const e=t.every(e=>!e);c=t.length>0&&!e?t:void 0}}}c&&(o[i.key]=c)}if(!s)return Object.keys(o).length>0?o:void 0;const a=Object.keys(o),i=Object.values(o);return Promise.all(i).then(e=>{const t={};for(let r=0;r<e.length;r++){const n=e[r];void 0!==n&&(t[a[r]]=n)}return Object.keys(t).length>0?t:void 0})}function Ue(e,r,n,...s){const a=Ce(r,s),i={},c={};for(const{prop:l,decorators:u}of a){const a=l+"",d=r[l],{designTypes:f}=t.getPropDesignTypes(r.constructor,l);if(!f)continue;if(f.some(e=>[Array.name,Set.name].includes(e))){if(!u||!Object.keys(u).includes(y.LIST)){i[a]={[y.TYPE]:`Array or Set property '${a}' requires a @list decorator`};continue}if(d&&!(Array.isArray(d)||d instanceof Set)){i[a]={[y.TYPE]:`Property '${l+""}' must be either an Array or a Set`};continue}}const h=je(r,e,a,u,n)||{},E=p.isPropertyModel(r,a);if(null!=d&&E){const t=d,r=f.map(e=>p.get(e.name||e)).find(e=>!!e),n=f.map(e=>"function"==typeof e?e.name?e.name.toLowerCase():e()?.name.toLowerCase():e.toLowerCase());if(r&&d instanceof r){const r=m(a,...s);c[a]=t.hasErrors(e[l],...r)}else n.includes(typeof d)||(h[y.TYPE]=r?"Value must be an instance of "+r.name:`Unable to verify type consistency, missing model registry for ${f.toString()} on prop ${a}`,delete h[o.TYPE])}(Object.keys(h).length>0||n)&&(i[a]=h),n||Object.entries(c[a]||{}).forEach(([e,t])=>{void 0!==t&&(i[`${a}.${e}`]=t)})}if(!n)return Object.keys(i).length>0?new A(i):void 0;const l=i,u=Object.keys(l),d=Object.values(l);return Promise.allSettled(d).then(async e=>{const t={};for(const[e,r]of Object.entries(c)){const n=await r;n&&Object.entries(n).forEach(([r,n])=>{void 0!==n&&(t[[e,r].join(".")]=n)})}for(let r=0;r<e.length;r++){const n=u[r],s=e[r];"fulfilled"===s.status&&void 0!==s.value?t[n]=s.value:"rejected"===s.status&&(t[n]=s.reason instanceof Error?s.reason.message:(s.reason||"Validation failed")+"")}return Object.keys(t).length>0?new A(t):void 0})}function Fe(e){return e.reduce((e,t,r)=>(t&&(e="string"==typeof e?e+`\n - ${r}: ${t.toString()}`:` - ${r}: ${t.toString()}`),e),void 0)}async function $e(e,t,r,n,s,o){const a=He(r,n,s);if(!a)return;const i=W(Z(q(r,a,s)));for(const s of i){const a=[t,s.data.length>1?s.data:s.data[0],s.prop.length>1?s.prop:s.prop[0],r];if([C.UPDATE,j.UPDATE_ALL].includes(n)){if(!o)throw new G("Missing old model for update operation");a.push(o)}try{await s.handler.apply(e,a)}catch(e){if(t.logger.for($e).error(`Failed to execute handler ${s.handler.name} for ${s.prop} on ${r.constructor.name}`),t.get("breakOnHandlerError"))throw e}}}function He(e,r,n){const s=n?.replace(/[.]$/,""),o=t.get(e.constructor,M.OPERATIONS);if(o)return Object.keys(o).reduce((e,t)=>{const n=s?o[t][s]||{}:o[t],a=Object.keys(n).filter(e=>e===r),i=[];for(const e of a)i.push({key:e,props:n[e]});return i&&i.length&&(e||(e={}),e[t]=i),e},void 0)}p.prototype.isTransient=function(){return t.isTransient(this)},p.prototype.hasErrors=function(e,...t){!e||e instanceof p||(t.unshift(e),e=void 0);const r=this.isAsync(),n=w(this,r,...t);return r?Promise.resolve(n).then(n=>n||!e?n:Ue(e,this,r,...t)):n||!e?n:Ue(e,this,r,...t)},p.prototype.segregate=function(){return p.segregate(this)},p.segregate=e=>{if(!t.isTransient(e))return{model:e};const r=t.validatableProperties(e.constructor),n=t.get(e.constructor,D.TRANSIENT),s={model:{},transient:{}};for(const t of r)if(Object.keys(n).includes(t)){s.transient=s.transient||{};try{s.transient[t]=e[t]}catch(e){throw new Y(`Failed to serialize transient property ${t}: ${e}`)}}else s.model=s.model||{},s.model[t]=e[t];return s.model=p.build(s.model,e.constructor.name),s},t.pk=((e,r=!1)=>{if(!e)throw Error("No model was provided");const n=e instanceof p?e.constructor:e,s=t.get(n,D.ID);if(!s)throw Error("No Id property defined for model "+(n?.name||"Unknown Model"));const o=Object.keys(s)[0];if(!r)return o;if(e instanceof p)return e[o];throw Error("Cannot get the value of the pk from the constructor")}).bind(t),p.pk=((e,r=!1)=>t.pk(e,r)).bind(p),p.pkProps=(e=>t.get(e,t.key(D.ID,p.pk(e)))).bind(p),p.isTransient=(e=>!!t.get("function"!=typeof e?e.constructor:e,D.TRANSIENT)).bind(p),p.composed=((e,r)=>{const n=e instanceof p?e.constructor:e;return r?t.get(n,t.key(D.COMPOSED,r)):!!t.get(n,D.COMPOSED)}).bind(p),p.merge=((e,t,r)=>{const n=e=>Object.entries(e).reduce((e,[t,r])=>(null!=r&&(e[t]=r),e),{});return new(r=r||e.constructor)(Object.assign({},n(e),n(t)))}).bind(p),t.saveOperation=((e,r,n,s)=>{r&&t.set(e,t.key(M.OPERATIONS,r,n),s)}).bind(t),t.readOperation=((e,r,n)=>{if(r&&n)return t.get(e,t.key(M.OPERATIONS,r,n))}).bind(t),t.isTransient=(e=>!!t.get("function"!=typeof e?e.constructor:e,D.TRANSIENT)).bind(t),p.generated=((e,r)=>!!t.get("function"!=typeof e?e.constructor:e,t.key(D.GENERATED,r))).bind(p),p.shouldGenerate=((e,t,r)=>!r.get("allowGenerationOverride")||void 0===e[t]).bind(p);const Ve={parentContext:void 0,childContexts:[],ignoredValidationProperties:[],callArgs:[],writeOperation:!1,affectedTables:[],operation:void 0,breakOnHandlerError:!0,rebuildWithTransient:!0,ignoreValidation:!1,ignoreHandlers:!1,ignoreDevSafeGuards:!1,mergeForUpdate:!0,applyUpdateValidation:!0,allowGenerationOverride:!1},_e=e=>(new ze).accumulate(Object.assign({},e,{timestamp:new Date,logger:e.logger||v.get()}));class ze{constructor(e){this.cache=new R,Object.defineProperty(this,"cache",{value:e?e.cache:new R,writable:!1,enumerable:!1,configurable:!0})}static{this.factory=_e}accumulate(e){return Object.defineProperty(this,"cache",{value:this.cache.accumulate(e),writable:!1,enumerable:!1,configurable:!0}),this}get logger(){return this.cache.logger}get timestamp(){return this.cache.timestamp}get(e){try{return this.cache.get(e)}catch(t){const r=this.cache.parentContext;if(r)return r.get(e);throw t}}static childFrom(e,t){return ze.factory(Object.assign({},e.cache,t||{}))}static async from(e,t,r,...n){return ze.factory(Object.assign({},Ve,t,{operation:e,model:r,logger:t.logger||v.get()}))}static async args(e,t,r,n,s){const o=r.pop();async function a(){return n?n.context(e,s||{},t,...r):ze.from(e,s||{},t,...r)}let i;return o?o instanceof ze?(i=o,r.push(o)):(r.push(o),i=await a(),r.push(i)):(i=await a(),r.push(i)),{context:i,args:r}}}function Ge(e,t,r,n){const s=n||t.name;e[s]=new Proxy(e[s],{apply:async(e,t,n)=>{let s=r.call(t,...n);return s instanceof Promise&&(s=await s),s=e.call(t,...s),s instanceof Promise&&(s=await s),s}})}function Ye(e,t,r,n){const s=n||t.name;e[s]=new Proxy(e[s],{apply:async(e,t,n)=>{let s=e.call(t,...n);return s instanceof Promise&&(s=await s),s=r.call(t,...s),s instanceof Promise&&(s=await s),s}})}function Ke(e,t,r,n,s){const o=s||r.name;e[o]=new Proxy(e[o],{apply:async(e,r,s)=>{let o=t.call(r,...s);o instanceof Promise&&(o=await o);const a=o[o.length-1];if(!(a instanceof ze))throw new G("Missing a context");let i=e.call(r,...o);return i instanceof Promise&&(i=await i),i=n.call(r,i,a),i instanceof Promise&&(i=await i),i}})}function Be(e,t,r,n,s){const o=s||r.name;e[o]=new Proxy(e[o],{apply:async(e,r,s)=>{let o=t.call(r,...s);o instanceof Promise&&(o=await o);const a=o.pop(),i=o[o.length-1];if(!(i instanceof ze))throw new G("Missing a context");if(i.get("applyUpdateValidation")&&!i.get("ignoreDevSafeGuards")&&!(a instanceof p)&&(!Array.isArray(a)||!a.every(e=>e instanceof p)))throw new G("No previous versions os models found");let c=e.call(r,...o);return c instanceof Promise&&(c=await c),c=n.call(r,c,a,i),c instanceof Promise&&(c=await c),c}})}class Qe{get class(){if(!this._class)throw new G("No class definition found for this repository");return this._class}get pk(){return p.pk(this.class)}get pkProps(){return p.pkProps(this.class)}constructor(e){e&&(this._class=e);const t=this;[this.create,this.read,this.delete].forEach(e=>{const r=e.name;Ke(t,t[r+"Prefix"],e,t[r+"Suffix"])}),Be(t,t[this.update.name+"Prefix"],this.update,t[this.update.name+"Suffix"])}async createAll(e,...t){return Promise.all(e.map(e=>this.create(e,...t)))}async createPrefix(e,...t){const r=await ze.args(C.CREATE,this.class,t);if(e=new this.class(e),r.context.get("ignoreHandlers")||await $e(this,r.context,e,C.CREATE,C.ON),!r.context.get("ignoreValidation")){const t=await Promise.resolve(e.hasErrors());if(t)throw new z(t.toString())}return[e,...r.args]}async createSuffix(e,t){return t.get("ignoreHandlers")||await $e(this,t,e,C.CREATE,C.AFTER),e}async createAllPrefix(e,...t){const r=await ze.args(C.CREATE,this.class,t),n=r.context.get("ignoreHandlers"),s=r.context.get("ignoreValidation");if(e=await Promise.all(e.map(async e=>{const t=new this.class(e);return n||await $e(this,r.context,t,C.CREATE,C.ON),t})),!s){const t=Fe(await Promise.all(e.map(e=>Promise.resolve(e.hasErrors()))));if(t)throw new z(t)}return[e,...r.args]}async createAllSuffix(e,t){return t.get("ignoreHandlers")||await Promise.all(e.map(e=>$e(this,t,e,C.CREATE,C.AFTER))),e}async readAll(e,...t){return await Promise.all(e.map(e=>this.read(e,...t)))}async readSuffix(e,t){return t.get("ignoreHandlers")||await $e(this,t,e,C.READ,C.AFTER),e}async readPrefix(e,...t){const r=await ze.args(C.READ,this.class,t),n=new this.class;return n[this.pk]=e,await $e(this,r.context,n,C.READ,C.ON),[e,...r.args]}async readAllPrefix(e,...t){const r=await ze.args(C.READ,this.class,t);return await Promise.all(e.map(async e=>{const t=new this.class;return t[this.pk]=e,$e(this,r.context,t,C.READ,C.ON)})),[e,...r.args]}async readAllSuffix(e,t){return t.get("ignoreHandlers")||await Promise.all(e.map(e=>$e(this,t,e,C.READ,C.AFTER))),e}async updateAll(e,...t){return Promise.all(e.map(e=>this.update(e,...t)))}async updateSuffix(e,t,r){return r.get("ignoreHandlers")||await $e(this,r,e,C.UPDATE,C.AFTER,t),e}async updatePrefix(e,...t){const r=await ze.args(C.UPDATE,this.class,t),n=r.context,s=r.context.get("ignoreHandlers"),o=r.context.get("ignoreValidation"),a=e[this.pk];if(!a)throw new G("No value for the Id is defined under the property "+this.pk);let i;if(n.get("applyUpdateValidation")&&(i=await this.read(a),n.get("mergeForUpdate")&&(e=p.merge(i,e,this.class))),s||await $e(this,r.context,e,C.UPDATE,C.ON,i),!o){const t=await Promise.resolve(e.hasErrors(i));if(t)throw new z(t.toString())}return[e,...r.args,i]}async updateAllPrefix(e,...t){const r=await ze.args(C.UPDATE,this.class,t),n=r.context,s=n.get("ignoreHandlers"),o=n.get("ignoreValidation"),a=e.map(e=>{const t=e[this.pk];if(void 0===t)throw new G("No value for the Id is defined under the property "+this.pk);return t});let i;if(n.get("applyUpdateValidation")&&(i=await this.readAll(a,n),n.get("mergeForUpdate")&&(e=e.map((e,t)=>p.merge(i[t],e,this.class)))),s||await Promise.all(e.map((e,t)=>$e(this,r.context,e,C.UPDATE,C.ON,i?i[t]:void 0))),!o){let t;t=n.get("applyUpdateValidation")?await Promise.all(e.map((e,t)=>Promise.resolve(e.hasErrors(i[t])))):await Promise.resolve(e.map(e=>e.hasErrors()));const r=Fe(t);if(r)throw new z(r)}return[e,...r.args,i]}async updateAllSuffix(e,t,r){if(r.get("applyUpdateValidation")&&!r.get("ignoreDevSafeGuards")&&!t)throw new G("No previous versions of models provided");return r.get("ignoreHandlers")||await Promise.all(e.map((e,n)=>$e(this,r,e,C.UPDATE,C.AFTER,t?t[n]:void 0))),e}async deleteAll(e,...t){return Promise.all(e.map(e=>this.delete(e,...t)))}async deleteSuffix(e,t){return t.get("ignoreHandlers")||await $e(this,t,e,C.DELETE,C.AFTER),e}async deletePrefix(e,...t){const r=await ze.args(C.DELETE,this.class,t),n=await this.read(e,...r.args);return await $e(this,r.context,n,C.DELETE,C.ON),[e,...r.args]}async deleteAllPrefix(e,...t){const r=await ze.args(C.DELETE,this.class,t),n=await this.readAll(e,...r.args);return await Promise.all(n.map(async e=>$e(this,r.context,e,C.DELETE,C.ON))),[e,...r.args]}async deleteAllSuffix(e,t){return t.get("ignoreHandlers")||await Promise.all(e.map(e=>$e(this,t,e,C.DELETE,C.AFTER))),e}toString(){return this.class.name+" Repository"}}const Je="##VERSION##",qe="##PACKAGE##";t.registerLibrary(qe,Je);export{_ as BadRequestError,H as BaseError,ge as BlockOperationIf,Ee as BlockOperations,V as BreakError,j as BulkCrudOperationKeys,B as ConflictError,ze as Context,D as DBKeys,U as DBOperations,L as DEFAULT_ERROR_MESSAGES,b as DEFAULT_TIMESTAMP_FORMAT,_e as DefaultContextFactory,Ve as DefaultRepositoryFlags,S as DefaultSeparator,G as InternalError,M as ModelOperations,K as NotFoundError,C as OperationKeys,$ as Operations,F as OperationsRegistry,qe as PACKAGE_NAME,I as ReadOnlyValidator,Qe as Repository,Y as SerializationError,x as TimestampValidator,N as UpdateValidationKeys,k as UpdateValidator,Je as VERSION,z as ValidationError,fe as after,de as afterAny,ce as afterCreate,ae as afterCreateUpdate,ue as afterDelete,le as afterRead,ie as afterUpdate,Oe as composed,Te as composedFromCreateUpdate,Pe as composedFromKeys,$e as enforceDBDecorators,ye as generated,He as getDbDecorators,J as getHandlerArgs,q as getHandlersDecorators,Ce as getValidatableUpdateProps,Z as groupDecorators,Ae as hash,me as hashOnCreateUpdate,ke as id,oe as on,se as onAny,te as onCreate,X as onCreateUpdate,ne as onDelete,re as onRead,ee as onUpdate,pe as operation,Ge as prefixMethod,Se as readonly,Fe as reduceErrorsToPrint,xe as serialize,Ie as serializeAfterAll,Ne as serializeOnCreateUpdate,W as sortDecorators,he as storeHandlerMetadata,Ye as suffixMethod,Le as timestamp,be as timestampHandler,De as transient,Ue as validateCompare,Me as validateDecorator,je as validateDecorators,ve as version,Re as versionCreateUpdate,Ke as wrapMethodWithContext,Be as wrapMethodWithContextForUpdate};
2
2
  //# sourceMappingURL=db-decorators.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"db-decorators.js","sources":["../src/model/constants.ts","../src/validation/constants.ts","../src/validation/validators/ReadOnlyValidator.ts","../src/validation/validators/TimestampValidator.ts","../src/validation/validators/UpdateValidator.ts","../src/operations/constants.ts","../src/validation/validation.ts","../src/operations/OperationsRegistry.ts","../src/operations/Operations.ts","../src/repository/errors.ts","../src/operations/decorators.ts","../src/model/decorators.ts","../src/validation/decorators.ts","../src/identity/decorators.ts","../src/model/validation.ts","../src/repository/utils.ts","../src/overrides/overrides.ts","../src/repository/constants.ts","../src/repository/Context.ts","../src/repository/wrappers.ts","../src/repository/Repository.ts","../src/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["DBKeys","REFLECT","ModelKeys","MODEL","REPOSITORY","CLASS","ID","INDEX","UNIQUE","SERIALIZE","READONLY","TIMESTAMP","TRANSIENT","HASH","COMPOSED","GENERATED","VERSION","ORIGINAL","DefaultSeparator","DEFAULT_TIMESTAMP_FORMAT","DEFAULT_ERROR_MESSAGES","INVALID","REQUIRED","DATE","UpdateValidationKeys","ReadOnlyValidator","Validator","constructor","super","hasErrors","value","args","updateHasErrors","oldValue","message","undefined","isEqual","this","getMessage","__decorate","validator","TimestampValidator","Date","e","UpdateValidator","DecoratorMessages","DEFAULT","acceptedTypes","OperationKeys","ModelOperations","BulkCrudOperationKeys","Validation","updateKey","key","DBOperations","CREATE","READ","UPDATE","DELETE","CREATE_UPDATE","READ_CREATE","ALL","OperationsRegistry","cache","get","target","propKey","operation","accum","owner","resolveOwner","name","resolveTargetName","handlers","selectHandlers","length","unshift","Object","prototype","getPrototypeOf","proto","register","handler","handlerName","getHandlerName","flavour","resolveFlavour","Decoration","defaultFlavour","Metadata","flavourOf","byOperation","bucket","firstBucket","values","keys","Hashing","hash","toString","Operations","str","targetName","registry","getOpRegistry","BaseError","Error","msg","code","stack","replaceAll","BreakError","BadRequestError","ValidationError","InternalError","SerializationError","NotFoundError","ConflictError","DefaultGroupSort","priority","getHandlerArgs","dec","prop","m","props","getHandlersDecorators","model","decorators","prefix","decs","handlerArgs","argsEntry","data","push","groupDecorators","grouped","reduce","acc","group","set","Symbol","groupKey","has","existing","Map","groups","Array","from","forEach","combined","map","d","i","sort","a","b","groupPriority","c","sortDecorators","onCreateUpdate","groupsort","on","onUpdate","onCreate","onRead","onDelete","onAny","op","ON","afterCreateUpdate","after","afterUpdate","afterCreate","afterRead","afterDelete","afterAny","AFTER","baseOp","dataToAdd","propertyKey","compoundKey","readOperation","handlerKey","mergeData","filter","handle","propMetadata","OPERATIONS","apply","storeHandlerMetadata","params","metadata","BlockOperations","operations","BLOCK","includes","BlockOperationIf","generated","type","hashOnCreateUpdate","context","oldModel","composedFromCreateUpdate","suffix","separator","filterEmpty","hashResult","composed","arg","isArray","JSON","stringify","join","composedFrom","for","define","decorator","property","composedFromKeys","versionCreateUpdate","Model","shouldGenerate","version","Number","transient","attribute","readonly","meta","description","async","innerValidationDecorator","timestampHandler","timestamp","format","decorationKey","updateValidationKey","date","required","indexOf","serializeOnCreateUpdate","serializer","serialize","serializeAfterAll","deserialize","parse","String","id","getValidatableUpdateProps","propsToIgnore","decoratedProperties","hasOwnProperty","call","validationFor","validateDecorator","newModel","toConditionalPromise","decoratorProps","maybeError","validateDecorators","result","decoratorKey","validationErrors","ValidationKeys","LIST","newPropValue","oldPropValue","newValues","Set","oldValues","allowedTypes","class","clazz","customTypes","flat","t","toLowerCase","errs","childValue","isModel","pk","oldListModel","find","el","Promise","all","then","every","r","allEmpty","promises","resolvedValues","res","val","validateCompare","ValidatableUpdateProps","nestedErrors","propValue","designTypes","getPropDesignTypes","some","TYPE","propErrors","isConstr","isPropertyModel","instance","Constr","designTypeNames","nestedPropsToIgnore","getChildNestedPropsToIgnore","entries","error","ModelErrorDefinition","merged","allSettled","results","parentProp","nestedErrPromise","nestedPropDecErrors","nestedProp","nestedPropDecError","status","reason","reduceErrorsToPrint","errors","enforceDBDecorators","repo","getDbDecorators","sortedDecorators","UPDATE_ALL","adapter","parseError","defineProperty","logger","extraPrefix","replace","obj","isTransient","previousVersion","exclusions","isAsync","validate","resolve","resolvedErrs","segregate","validatableProperties","transientProps","build","keyValue","constr","idProp","bind","pkProps","merge","extract","assign","saveOperation","ctx","DefaultRepositoryFlags","parentContext","childContexts","ignoredValidationProperties","callArgs","writeOperation","affectedTables","breakOnHandlerError","rebuildWithTransient","ignoreValidation","ignoreHandlers","ignoreDevSafeGuards","mergeForUpdate","applyUpdateValidation","allowGenerationOverride","DefaultContextFactory","Context","accumulate","Logging","ObjectAccumulator","writable","enumerable","configurable","factory","parent","childFrom","overrides","contextual","last","pop","getContext","prefixMethod","afterName","Proxy","thisArg","argArray","suffixMethod","before","beforeName","wrapMethodWithContext","method","methodName","transformedArgs","wrapMethodWithContextForUpdate","o","Repository","_class","self","create","read","delete","update","createAll","models","createPrefix","contextArgs","createSuffix","createAllPrefix","ignoreValidate","createAllSuffix","readAll","readSuffix","readPrefix","readAllPrefix","k","readAllSuffix","updateAll","updateSuffix","updatePrefix","updateAllPrefix","ids","oldModels","modelsValidation","updateAllSuffix","deleteAll","deleteSuffix","deletePrefix","deleteAllPrefix","deleteAllSuffix","PACKAGE_NAME","registerLibrary"],"mappings":"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"}
1
+ {"version":3,"file":"db-decorators.js","sources":["../src/model/constants.ts","../src/validation/constants.ts","../src/validation/validators/ReadOnlyValidator.ts","../src/validation/validators/TimestampValidator.ts","../src/validation/validators/UpdateValidator.ts","../src/operations/constants.ts","../src/validation/validation.ts","../src/operations/OperationsRegistry.ts","../src/operations/Operations.ts","../src/repository/errors.ts","../src/operations/decorators.ts","../src/model/decorators.ts","../src/validation/decorators.ts","../src/identity/decorators.ts","../src/model/validation.ts","../src/repository/utils.ts","../src/overrides/overrides.ts","../src/repository/constants.ts","../src/repository/Context.ts","../src/repository/wrappers.ts","../src/repository/Repository.ts","../src/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["DBKeys","REFLECT","ModelKeys","MODEL","REPOSITORY","CLASS","ID","INDEX","UNIQUE","SERIALIZE","READONLY","TIMESTAMP","TRANSIENT","HASH","COMPOSED","GENERATED","VERSION","ORIGINAL","DefaultSeparator","DEFAULT_TIMESTAMP_FORMAT","DEFAULT_ERROR_MESSAGES","INVALID","REQUIRED","DATE","UpdateValidationKeys","ReadOnlyValidator","Validator","constructor","super","hasErrors","value","args","updateHasErrors","oldValue","message","undefined","isEqual","this","getMessage","__decorate","validator","TimestampValidator","Date","e","UpdateValidator","DecoratorMessages","DEFAULT","acceptedTypes","OperationKeys","ModelOperations","BulkCrudOperationKeys","Validation","updateKey","key","DBOperations","CREATE","READ","UPDATE","DELETE","CREATE_UPDATE","READ_CREATE","ALL","OperationsRegistry","cache","get","target","propKey","operation","accum","owner","resolveOwner","name","resolveTargetName","handlers","selectHandlers","length","unshift","Object","prototype","getPrototypeOf","proto","register","handler","handlerName","getHandlerName","flavour","resolveFlavour","Decoration","defaultFlavour","Metadata","flavourOf","byOperation","bucket","firstBucket","values","keys","Hashing","hash","toString","Operations","str","targetName","registry","getOpRegistry","BaseError","Error","msg","code","stack","replaceAll","BreakError","BadRequestError","ValidationError","InternalError","SerializationError","NotFoundError","ConflictError","DefaultGroupSort","priority","getHandlerArgs","dec","prop","m","props","getHandlersDecorators","model","decorators","prefix","decs","handlerArgs","argsEntry","data","push","groupDecorators","grouped","reduce","acc","group","set","Symbol","groupKey","has","existing","Map","groups","Array","from","forEach","combined","map","d","i","sort","a","b","groupPriority","c","sortDecorators","onCreateUpdate","groupsort","on","onUpdate","onCreate","onRead","onDelete","onAny","op","ON","afterCreateUpdate","after","afterUpdate","afterCreate","afterRead","afterDelete","afterAny","AFTER","baseOp","dataToAdd","propertyKey","compoundKey","readOperation","handlerKey","mergeData","filter","handle","propMetadata","OPERATIONS","apply","storeHandlerMetadata","params","metadata","BlockOperations","operations","BLOCK","includes","BlockOperationIf","generated","type","hashOnCreateUpdate","context","oldModel","composedFromCreateUpdate","suffix","separator","filterEmpty","hashResult","composed","arg","isArray","JSON","stringify","join","composedFrom","for","define","decorator","property","composedFromKeys","versionCreateUpdate","Model","shouldGenerate","version","Number","transient","attribute","readonly","meta","description","async","innerValidationDecorator","timestampHandler","timestamp","format","decorationKey","updateValidationKey","date","required","indexOf","serializeOnCreateUpdate","serializer","serialize","serializeAfterAll","deserialize","parse","String","id","getValidatableUpdateProps","propsToIgnore","decoratedProperties","hasOwnProperty","call","validationFor","validateDecorator","newModel","toConditionalPromise","decoratorProps","maybeError","validateDecorators","result","decoratorKey","validationErrors","ValidationKeys","LIST","newPropValue","oldPropValue","newValues","Set","oldValues","allowedTypes","class","clazz","customTypes","flat","t","toLowerCase","errs","childValue","isModel","pk","oldListModel","find","el","Promise","all","then","every","r","allEmpty","promises","resolvedValues","res","val","validateCompare","ValidatableUpdateProps","nestedErrors","propValue","designTypes","getPropDesignTypes","some","TYPE","propErrors","isConstr","isPropertyModel","instance","Constr","designTypeNames","nestedPropsToIgnore","getChildNestedPropsToIgnore","entries","error","ModelErrorDefinition","merged","allSettled","results","parentProp","nestedErrPromise","nestedPropDecErrors","nestedProp","nestedPropDecError","status","reason","reduceErrorsToPrint","errors","enforceDBDecorators","repo","getDbDecorators","sortedDecorators","UPDATE_ALL","logger","extraPrefix","replace","obj","isTransient","previousVersion","exclusions","isAsync","validate","resolve","resolvedErrs","segregate","validatableProperties","transientProps","build","keyValue","constr","idProp","bind","pkProps","merge","extractData","assign","saveOperation","ctx","DefaultRepositoryFlags","parentContext","childContexts","ignoredValidationProperties","callArgs","writeOperation","affectedTables","breakOnHandlerError","rebuildWithTransient","ignoreValidation","ignoreHandlers","ignoreDevSafeGuards","mergeForUpdate","applyUpdateValidation","allowGenerationOverride","DefaultContextFactory","Context","accumulate","Logging","ObjectAccumulator","defineProperty","writable","enumerable","configurable","factory","parent","childFrom","overrides","contextual","last","pop","getContext","prefixMethod","afterName","Proxy","thisArg","argArray","suffixMethod","before","beforeName","wrapMethodWithContext","method","methodName","transformedArgs","wrapMethodWithContextForUpdate","o","Repository","_class","self","create","read","delete","update","createAll","models","createPrefix","contextArgs","createSuffix","createAllPrefix","ignoreValidate","createAllSuffix","readAll","readSuffix","readPrefix","readAllPrefix","k","readAllSuffix","updateAll","updateSuffix","updatePrefix","updateAllPrefix","ids","oldModels","modelsValidation","updateAllSuffix","deleteAll","deleteSuffix","deletePrefix","deleteAllPrefix","deleteAllSuffix","PACKAGE_NAME","registerLibrary"],"mappings":"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"}
@@ -11,5 +11,5 @@ export * from "./validation";
11
11
  * @const VERSION
12
12
  * @memberOf module:db-decorators
13
13
  */
14
- export declare const VERSION = "0.8.21";
14
+ export declare const VERSION = "0.8.23";
15
15
  export declare const PACKAGE_NAME = "@decaf-ts/db-decorators";
package/lib/esm/index.js CHANGED
@@ -17,7 +17,7 @@ export * from "./validation/index.js";
17
17
  * @const VERSION
18
18
  * @memberOf module:db-decorators
19
19
  */
20
- export const VERSION = "0.8.21";
20
+ export const VERSION = "0.8.23";
21
21
  export const PACKAGE_NAME = "@decaf-ts/db-decorators";
22
22
  Metadata.registerLibrary(PACKAGE_NAME, VERSION);
23
23
  //# sourceMappingURL=index.js.map
@@ -3,7 +3,7 @@ import { Hashing, Model, type } from "@decaf-ts/decorator-validation";
3
3
  import { onCreate, onCreateUpdate, onUpdate } from "./../operations/decorators.js";
4
4
  import { InternalError, ValidationError } from "./../repository/errors.js";
5
5
  import { OperationKeys } from "./../operations/index.js";
6
- import { Decoration, propMetadata, apply, Metadata, metadata, } from "@decaf-ts/decoration";
6
+ import { Decoration, propMetadata, apply, Metadata, } from "@decaf-ts/decoration";
7
7
  export function generated(type) {
8
8
  return function generated(target, prop) {
9
9
  return propMetadata(Metadata.key(DBKeys.GENERATED, prop), type || true)(target, prop);
@@ -251,7 +251,6 @@ export function version() {
251
251
  export function transient() {
252
252
  return Decoration.for(DBKeys.TRANSIENT)
253
253
  .define(function transient(model, attribute) {
254
- metadata(DBKeys.TRANSIENT, true)(model.constructor);
255
254
  propMetadata(Metadata.key(DBKeys.TRANSIENT, attribute), {})(model, attribute);
256
255
  })
257
256
  .apply();
@@ -1 +1 @@
1
- {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../../src/model/decorators.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../../src/model/decorators.ts"],"names":[],"mappings":"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"}
@@ -21,6 +21,9 @@ declare module "@decaf-ts/decoration" {
21
21
  * Metadata.saveOperation(User.constructor,'updatedOn','on.create',metadata);
22
22
  */
23
23
  function saveOperation<M extends Model>(model: Constructor<M>, propertyKey: keyof M, operation: string, metadata: any): void;
24
+ function pk<M extends Model<boolean>>(model: M | Constructor<M>): keyof M;
25
+ function pk<M extends Model<boolean>>(model: M, keyValue: boolean): M[keyof M];
26
+ function pk<M extends Model<boolean>>(model: M | Constructor<M>, keyValue?: boolean): keyof M | M[keyof M];
24
27
  /**
25
28
  * @description Reads the metadata under a key for a specific operation
26
29
  * @summary Reads the metadata under a key for a specific operation
@@ -68,7 +68,7 @@ Model.segregate = function segregate(model) {
68
68
  result.model = Model.build(result.model, model.constructor.name);
69
69
  return result;
70
70
  };
71
- Model.pk = function pk(model, keyValue = false) {
71
+ Metadata.pk = function pk(model, keyValue = false) {
72
72
  if (!model)
73
73
  throw new Error("No model was provided");
74
74
  const constr = model instanceof Model ? model.constructor : model;
@@ -82,6 +82,9 @@ Model.pk = function pk(model, keyValue = false) {
82
82
  if (model instanceof Model)
83
83
  return model[key];
84
84
  throw new Error("Cannot get the value of the pk from the constructor");
85
+ }.bind(Metadata);
86
+ Model.pk = function pk(model, keyValue = false) {
87
+ return Metadata.pk(model, keyValue);
85
88
  }.bind(Model);
86
89
  Model.pkProps = function pkProps(model) {
87
90
  return Metadata.get(model, Metadata.key(DBKeys.ID, Model.pk(model)));
@@ -106,12 +109,13 @@ Model.composed = function composed(model, prop) {
106
109
  */
107
110
  Model.merge = function merge(oldModel, newModel, constructor) {
108
111
  constructor = constructor || oldModel.constructor;
109
- const extract = (model) => Object.entries(model).reduce((accum, [key, val]) => {
110
- if (typeof val !== "undefined")
112
+ const extractData = (model) => Object.entries(model).reduce((accum, [key, val]) => {
113
+ if (typeof val !== "undefined" && val !== null)
111
114
  accum[key] = val;
112
115
  return accum;
113
116
  }, {});
114
- return new constructor(Object.assign({}, extract(oldModel), extract(newModel)));
117
+ const data = Object.assign({}, extractData(oldModel), extractData(newModel));
118
+ return new constructor(data);
115
119
  }.bind(Model);
116
120
  Metadata.saveOperation = function saveOperation(model, propertyKey, operation, metadata) {
117
121
  if (!propertyKey)
@@ -1 +1 @@
1
- {"version":3,"file":"overrides.js","sourceRoot":"","sources":["../../../src/overrides/overrides.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EAEL,QAAQ,GACT,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,iCAA4B;AACtD,OAAO,EAAe,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,gCAA2B;AAC5C,OAAO,EAAE,eAAe,EAAE,qCAAgC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,kCAA6B;AAI1D,KAAK,CAAC,SAAS,CAAC,WAAW,GAAG;IAC5B,OAAO,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;AACpC,CAAC,CAAC;AAEF;;;;;;;;;GASG;AACH,KAAK,CAAC,SAAS,CAAC,SAAS,GAAG,UAE1B,eAAyB,EACzB,GAAG,UAAiB;IAEpB,IAAI,eAAe,IAAI,CAAC,CAAC,eAAe,YAAY,KAAK,CAAC,EAAE,CAAC;QAC3D,UAAU,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QACpC,eAAe,GAAG,SAAS,CAAC;IAC9B,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;IAC7B,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,UAAU,CAAC,CAAC;IAElD,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,EAAE;YACjD,IAAI,YAAY,IAAI,CAAC,eAAe,EAAE,CAAC;gBACrC,OAAO,YAAY,CAAC;YACtB,CAAC;YACD,OAAO,eAAe,CAAC,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,UAAU,CAAC,CAAC;QACtE,CAAC,CAAQ,CAAC;IACZ,CAAC;IAED,IAAI,IAAI,IAAI,CAAC,eAAe;QAAE,OAAO,IAAW,CAAC;IAEjD,2FAA2F;IAC3F,OAAO,eAAe,CAAC,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,UAAU,CAAC,CAAC;AACtE,CAAC,CAAC;AAEF,KAAK,CAAC,SAAS,CAAC,SAAS,GAAG,SAAS,SAAS;IAG5C,OAAO,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;AAC/B,CAAC,CAAC;AAED,KAAa,CAAC,SAAS,GAAG,SAAS,SAAS,CAC3C,KAAQ;IAER,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IAC1D,MAAM,mBAAmB,GAAG,QAAQ,CAAC,qBAAqB,CACxD,KAAK,CAAC,WAAkB,CACzB,CAAC;IAEF,MAAM,cAAc,GAAG,QAAQ,CAAC,GAAG,CACjC,KAAK,CAAC,WAAkB,EACxB,MAAM,CAAC,SAAS,CACjB,CAAC;IAEF,MAAM,MAAM,GAAG;QACb,KAAK,EAAE,EAAyB;QAChC,SAAS,EAAE,EAAyB;KACrC,CAAC;IACF,KAAK,MAAM,GAAG,IAAI,mBAAmB,EAAE,CAAC;QACtC,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAC9D,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC;YAC1C,IAAI,CAAC;gBACH,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAc,CAAC,CAAC;YAChD,CAAC;YAAC,OAAO,CAAU,EAAE,CAAC;gBACpB,MAAM,IAAI,kBAAkB,CAC1B,0CAA0C,GAAG,KAAK,CAAC,EAAE,CACtD,CAAC;YACJ,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;YAClC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,GAAI,KAA6B,CAAC,GAAG,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;IAED,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACjE,OAAO,MAA+D,CAAC;AACzE,CAAC,CAAC;AAED,KAAa,CAAC,EAAE,GAAG,SAAS,EAAE,CAC7B,KAAyB,EACzB,QAAQ,GAAG,KAAK;IAEhB,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;IACrD,MAAM,MAAM,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC;IAClE,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAqB,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;IAC9D,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CACb,oCAAoC,MAAM,EAAE,IAAI,IAAI,eAAe,EAAE,CACtE,CAAC;IACJ,CAAC;IACD,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAY,CAAC;IAC9C,IAAI,CAAC,QAAQ;QAAE,OAAO,GAAG,CAAC;IAC1B,IAAI,KAAK,YAAY,KAAK;QAAE,OAAO,KAAK,CAAC,GAAc,CAAC,CAAC;IACzD,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;AACzE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAEb,KAAa,CAAC,OAAO,GAAG,SAAS,OAAO,CACvC,KAAqB;IAErB,OAAO,QAAQ,CAAC,GAAG,CACjB,KAAK,EACL,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAW,CAAC,CACnD,CAAC;AACJ,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAEb,KAAa,CAAC,WAAW,GAAG,SAAS,WAAW,CAC/C,KAAyB;IAEzB,OAAO,CAAC,CAAC,QAAQ,CAAC,GAAG,CACnB,OAAO,KAAK,KAAK,UAAU,CAAC,CAAC,CAAE,KAAK,CAAC,WAAmB,CAAC,CAAC,CAAC,KAAK,EAChE,MAAM,CAAC,SAAS,CACjB,CAAC;AACJ,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAEb,KAAa,CAAC,QAAQ,GAAG,SAAS,QAAQ,CACzC,KAAyB,EACzB,IAAc;IAEd,MAAM,MAAM,GACV,KAAK,YAAY,KAAK,CAAC,CAAC,CAAE,KAAK,CAAC,WAA8B,CAAC,CAAC,CAAC,KAAK,CAAC;IACzE,IAAI,IAAI;QACN,OAAO,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAc,CAAC,CAAC,CAAC;IAC7E,OAAO,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;AACjD,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAEd;;;;;;;;GAQG;AACF,KAAa,CAAC,KAAK,GAAG,SAAS,KAAK,CACnC,QAAW,EACX,QAAW,EACX,WAA4B;IAE5B,WAAW,GAAG,WAAW,IAAK,QAAQ,CAAC,WAA8B,CAAC;IACtE,MAAM,OAAO,GAAG,CAAC,KAAQ,EAAE,EAAE,CAC3B,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,KAA0B,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE;QACtE,IAAI,OAAO,GAAG,KAAK,WAAW;YAAE,KAAK,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;QACjD,OAAO,KAAK,CAAC;IACf,CAAC,EAAE,EAAE,CAAC,CAAC;IAET,OAAO,IAAI,WAAW,CACpB,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CACxD,CAAC;AACJ,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAEb,QAAgB,CAAC,aAAa,GAAG,SAAS,aAAa,CACtD,KAAqB,EACrB,WAAmB,EACnB,SAAiB,EACjB,QAAa;IAEb,IAAI,CAAC,WAAW;QAAE,OAAO;IACzB,QAAQ,CAAC,GAAG,CACV,KAAK,EACL,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC,UAAU,EAAE,WAAW,EAAE,SAAS,CAAC,EAChE,QAAQ,CACT,CAAC;AACJ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAEhB,QAAgB,CAAC,aAAa,GAAG,SAAS,aAAa,CACtD,KAAqB,EACrB,WAAoB,EACpB,SAAkB;IAElB,IAAI,CAAC,WAAW,IAAI,CAAC,SAAS;QAAE,OAAO;IACvC,OAAO,QAAQ,CAAC,GAAG,CACjB,KAAK,EACL,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC,UAAU,EAAE,WAAW,EAAE,SAAS,CAAC,CACjE,CAAC;AACJ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAEhB,QAAgB,CAAC,WAAW,GAAG,SAAS,WAAW,CAClD,KAAyB;IAEzB,OAAO,CAAC,CAAC,QAAQ,CAAC,GAAG,CACnB,OAAO,KAAK,KAAK,UAAU,CAAC,CAAC,CAAE,KAAK,CAAC,WAAmB,CAAC,CAAC,CAAC,KAAK,EAChE,MAAM,CAAC,SAAS,CACjB,CAAC;AACJ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAEhB,KAAa,CAAC,SAAS,GAAG,SAAS,SAAS,CAC3C,KAAyB,EACzB,IAAa;IAEb,OAAO,CAAC,CAAC,QAAQ,CAAC,GAAG,CACnB,OAAO,KAAK,KAAK,UAAU,CAAC,CAAC,CAAE,KAAK,CAAC,WAAmB,CAAC,CAAC,CAAC,KAAK,EAChE,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,EAAE,IAAc,CAAC,CAC/C,CAAC;AACJ,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAEb,KAAa,CAAC,cAAc,GAAG,SAAS,cAAc,CACrD,KAAQ,EACR,IAAa,EACb,GAAiB;IAEjB,IAAI,GAAG,CAAC,GAAG,CAAC,yBAAyB,CAAC,IAAI,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,WAAW;QAC1E,OAAO,KAAK,CAAC;IACf,OAAO,IAAI,CAAC;AACd,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC"}
1
+ {"version":3,"file":"overrides.js","sourceRoot":"","sources":["../../../src/overrides/overrides.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { BulkCrudOperationKeys, ModelOperations, OperationKeys, } from "./../operations/constants.js";
2
- import { BaseError, InternalError } from "./errors.js";
2
+ import { InternalError } from "./errors.js";
3
3
  import { getHandlersDecorators, groupDecorators, sortDecorators, } from "./../operations/decorators.js";
4
4
  import { Metadata } from "@decaf-ts/decoration";
5
5
  export function reduceErrorsToPrint(errors) {
@@ -48,21 +48,11 @@ export async function enforceDBDecorators(repo, context, model, operation, prefi
48
48
  await dec.handler.apply(repo, args);
49
49
  }
50
50
  catch (e) {
51
- const msg = `Failed to execute handler ${dec.handler.name} for ${dec.prop} on ${model.constructor.name}`;
52
- let error = e;
53
- if (!(e instanceof BaseError))
54
- error = repo.adapter.parseError(e);
55
- if (error instanceof BaseError) {
56
- Object.defineProperty(e, "message", {
57
- value: msg + " " + error.message,
58
- });
59
- }
60
- else {
61
- error = new InternalError(msg + " " + error.message);
62
- }
51
+ context.logger
52
+ .for(enforceDBDecorators)
53
+ .error(`Failed to execute handler ${dec.handler.name} for ${dec.prop} on ${model.constructor.name}`);
63
54
  if (context.get("breakOnHandlerError"))
64
- throw error;
65
- context.logger.for(enforceDBDecorators).error(msg);
55
+ throw e;
66
56
  }
67
57
  }
68
58
  }
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/repository/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/repository/utils.ts"],"names":[],"mappings":"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"}
package/lib/index.cjs CHANGED
@@ -34,7 +34,7 @@ __exportStar(require("./validation/index.cjs"), exports);
34
34
  * @const VERSION
35
35
  * @memberOf module:db-decorators
36
36
  */
37
- exports.VERSION = "0.8.21";
37
+ exports.VERSION = "0.8.23";
38
38
  exports.PACKAGE_NAME = "@decaf-ts/db-decorators";
39
39
  decoration_1.Metadata.registerLibrary(exports.PACKAGE_NAME, exports.VERSION);
40
40
  //# sourceMappingURL=index.js.map
package/lib/index.d.ts CHANGED
@@ -11,5 +11,5 @@ export * from "./validation";
11
11
  * @const VERSION
12
12
  * @memberOf module:db-decorators
13
13
  */
14
- export declare const VERSION = "0.8.21";
14
+ export declare const VERSION = "0.8.23";
15
15
  export declare const PACKAGE_NAME = "@decaf-ts/db-decorators";
@@ -262,7 +262,6 @@ function version() {
262
262
  function transient() {
263
263
  return decoration_1.Decoration.for(constants_1.DBKeys.TRANSIENT)
264
264
  .define(function transient(model, attribute) {
265
- (0, decoration_1.metadata)(constants_1.DBKeys.TRANSIENT, true)(model.constructor);
266
265
  (0, decoration_1.propMetadata)(decoration_1.Metadata.key(constants_1.DBKeys.TRANSIENT, attribute), {})(model, attribute);
267
266
  })
268
267
  .apply();
@@ -1 +1 @@
1
- {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/model/decorators.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/model/decorators.ts"],"names":[],"mappings":"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"}
@@ -21,6 +21,9 @@ declare module "@decaf-ts/decoration" {
21
21
  * Metadata.saveOperation(User.constructor,'updatedOn','on.create',metadata);
22
22
  */
23
23
  function saveOperation<M extends Model>(model: Constructor<M>, propertyKey: keyof M, operation: string, metadata: any): void;
24
+ function pk<M extends Model<boolean>>(model: M | Constructor<M>): keyof M;
25
+ function pk<M extends Model<boolean>>(model: M, keyValue: boolean): M[keyof M];
26
+ function pk<M extends Model<boolean>>(model: M | Constructor<M>, keyValue?: boolean): keyof M | M[keyof M];
24
27
  /**
25
28
  * @description Reads the metadata under a key for a specific operation
26
29
  * @summary Reads the metadata under a key for a specific operation
@@ -70,7 +70,7 @@ decorator_validation_1.Model.segregate = function segregate(model) {
70
70
  result.model = decorator_validation_1.Model.build(result.model, model.constructor.name);
71
71
  return result;
72
72
  };
73
- decorator_validation_1.Model.pk = function pk(model, keyValue = false) {
73
+ decoration_1.Metadata.pk = function pk(model, keyValue = false) {
74
74
  if (!model)
75
75
  throw new Error("No model was provided");
76
76
  const constr = model instanceof decorator_validation_1.Model ? model.constructor : model;
@@ -84,6 +84,9 @@ decorator_validation_1.Model.pk = function pk(model, keyValue = false) {
84
84
  if (model instanceof decorator_validation_1.Model)
85
85
  return model[key];
86
86
  throw new Error("Cannot get the value of the pk from the constructor");
87
+ }.bind(decoration_1.Metadata);
88
+ decorator_validation_1.Model.pk = function pk(model, keyValue = false) {
89
+ return decoration_1.Metadata.pk(model, keyValue);
87
90
  }.bind(decorator_validation_1.Model);
88
91
  decorator_validation_1.Model.pkProps = function pkProps(model) {
89
92
  return decoration_1.Metadata.get(model, decoration_1.Metadata.key(constants_1.DBKeys.ID, decorator_validation_1.Model.pk(model)));
@@ -108,12 +111,13 @@ decorator_validation_1.Model.composed = function composed(model, prop) {
108
111
  */
109
112
  decorator_validation_1.Model.merge = function merge(oldModel, newModel, constructor) {
110
113
  constructor = constructor || oldModel.constructor;
111
- const extract = (model) => Object.entries(model).reduce((accum, [key, val]) => {
112
- if (typeof val !== "undefined")
114
+ const extractData = (model) => Object.entries(model).reduce((accum, [key, val]) => {
115
+ if (typeof val !== "undefined" && val !== null)
113
116
  accum[key] = val;
114
117
  return accum;
115
118
  }, {});
116
- return new constructor(Object.assign({}, extract(oldModel), extract(newModel)));
119
+ const data = Object.assign({}, extractData(oldModel), extractData(newModel));
120
+ return new constructor(data);
117
121
  }.bind(decorator_validation_1.Model);
118
122
  decoration_1.Metadata.saveOperation = function saveOperation(model, propertyKey, operation, metadata) {
119
123
  if (!propertyKey)
@@ -1 +1 @@
1
- {"version":3,"file":"overrides.js","sourceRoot":"","sources":["../../src/overrides/overrides.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"overrides.js","sourceRoot":"","sources":["../../src/overrides/overrides.ts"],"names":[],"mappings":"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"}
@@ -53,21 +53,11 @@ async function enforceDBDecorators(repo, context, model, operation, prefix, oldM
53
53
  await dec.handler.apply(repo, args);
54
54
  }
55
55
  catch (e) {
56
- const msg = `Failed to execute handler ${dec.handler.name} for ${dec.prop} on ${model.constructor.name}`;
57
- let error = e;
58
- if (!(e instanceof errors_1.BaseError))
59
- error = repo.adapter.parseError(e);
60
- if (error instanceof errors_1.BaseError) {
61
- Object.defineProperty(e, "message", {
62
- value: msg + " " + error.message,
63
- });
64
- }
65
- else {
66
- error = new errors_1.InternalError(msg + " " + error.message);
67
- }
56
+ context.logger
57
+ .for(enforceDBDecorators)
58
+ .error(`Failed to execute handler ${dec.handler.name} for ${dec.prop} on ${model.constructor.name}`);
68
59
  if (context.get("breakOnHandlerError"))
69
- throw error;
70
- context.logger.for(enforceDBDecorators).error(msg);
60
+ throw e;
71
61
  }
72
62
  }
73
63
  }
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/repository/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/repository/utils.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@decaf-ts/db-decorators",
3
- "version": "0.8.22",
3
+ "version": "0.8.24",
4
4
  "description": "Agnostic database decorators and repository",
5
5
  "type": "module",
6
6
  "exports": {