@decaf-ts/db-decorators 0.8.4 → 0.8.6
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 +1 -1
- package/dist/db-decorators.cjs +1 -1
- package/dist/db-decorators.cjs.map +1 -1
- package/dist/db-decorators.js +1 -1
- package/dist/db-decorators.js.map +1 -1
- package/lib/esm/index.d.ts +1 -1
- package/lib/esm/index.js +1 -1
- package/lib/esm/model/validation.js +28 -20
- package/lib/esm/model/validation.js.map +1 -1
- package/lib/esm/overrides/overrides.js +4 -4
- package/lib/esm/overrides/overrides.js.map +1 -1
- package/lib/esm/repository/Context.d.ts +2 -2
- package/lib/esm/repository/Context.js.map +1 -1
- package/lib/esm/repository/types.d.ts +6 -4
- package/lib/index.cjs +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/model/validation.cjs +27 -19
- package/lib/model/validation.js.map +1 -1
- package/lib/overrides/overrides.cjs +4 -4
- package/lib/overrides/overrides.js.map +1 -1
- package/lib/repository/Context.d.ts +2 -2
- package/lib/repository/Context.js.map +1 -1
- package/lib/repository/types.d.ts +6 -4
- package/package.json +1 -1
|
@@ -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","Operations","getHandlerName","flavour","resolveFlavour","Decoration","defaultFlavour","Metadata","flavourOf","byOperation","bucket","firstBucket","values","keys","Hashing","hash","toString","str","targetName","registry","getOpRegistry","BaseError","Error","msg","code","stack","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","serializeAfterAll","parse","serialize","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","pk","oldListModel","find","el","isModel","Promise","all","then","every","r","allEmpty","promises","resolvedValues","res","val","validateCompare","ValidatableUpdateProps","nestedErrors","propValue","designTypes","designType","getPropDesignTypes","some","TYPE","propErrors","isConstr","isPropertyModel","instance","Constr","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","extract","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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"}
|
|
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","Operations","getHandlerName","flavour","resolveFlavour","Decoration","defaultFlavour","Metadata","flavourOf","byOperation","bucket","firstBucket","values","keys","Hashing","hash","toString","str","targetName","registry","getOpRegistry","BaseError","Error","msg","code","stack","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","serializeAfterAll","parse","serialize","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","extract","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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"}
|
package/lib/esm/index.d.ts
CHANGED
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.
|
|
20
|
+
export const VERSION = "0.8.5";
|
|
21
21
|
export const PACKAGE_NAME = "@decaf-ts/db-decorators";
|
|
22
22
|
Metadata.registerLibrary(PACKAGE_NAME, VERSION);
|
|
23
23
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Model, ModelErrorDefinition, ModelKeys, toConditionalPromise, Validation, ValidationKeys, } from "@decaf-ts/decorator-validation";
|
|
1
|
+
import { Model, ModelErrorDefinition, ModelKeys, toConditionalPromise, Validation, ValidationKeys, getChildNestedPropsToIgnore, } from "@decaf-ts/decorator-validation";
|
|
2
2
|
import { Metadata } from "@decaf-ts/decoration";
|
|
3
3
|
/**
|
|
4
4
|
* @description
|
|
@@ -83,12 +83,12 @@ export function validateDecorators(newModel, oldModel, prop, decorators, async)
|
|
|
83
83
|
return String(t).toLowerCase();
|
|
84
84
|
});
|
|
85
85
|
const errs = newValues.map((childValue) => {
|
|
86
|
-
// find by id so the list elements order doesn't matter
|
|
87
|
-
const id = Model.pk(childValue, true);
|
|
88
|
-
if (!id)
|
|
89
|
-
return "Failed to find model id";
|
|
90
|
-
const oldListModel = oldValues.find((el) => id === Model.pk(el, true));
|
|
91
86
|
if (Model.isModel(childValue)) {
|
|
87
|
+
// find by id so the list elements order doesn't matter
|
|
88
|
+
const id = Model.pk(childValue, true);
|
|
89
|
+
if (!id)
|
|
90
|
+
return "Failed to find model id";
|
|
91
|
+
const oldListModel = oldValues.find((el) => id === Model.pk(el, true));
|
|
92
92
|
return childValue.hasErrors(oldListModel);
|
|
93
93
|
}
|
|
94
94
|
return allowedTypes.includes(typeof childValue)
|
|
@@ -163,7 +163,7 @@ export function validateCompare(oldModel, newModel, async, ...propsToIgnore) {
|
|
|
163
163
|
for (const { prop, decorators } of ValidatableUpdateProps) {
|
|
164
164
|
const propKey = String(prop);
|
|
165
165
|
const propValue = newModel[prop];
|
|
166
|
-
const { designTypes
|
|
166
|
+
const { designTypes } = Metadata.getPropDesignTypes(newModel.constructor, prop);
|
|
167
167
|
if (!designTypes)
|
|
168
168
|
continue;
|
|
169
169
|
// Handle array or Set types and enforce the presence of @list decorator
|
|
@@ -186,27 +186,35 @@ export function validateCompare(oldModel, newModel, async, ...propsToIgnore) {
|
|
|
186
186
|
// TODO: Check validateDecorators method partially working. Complete check pending.
|
|
187
187
|
const propErrors = validateDecorators(newModel, oldModel, propKey, decorators, async) || {};
|
|
188
188
|
// Check for nested model.
|
|
189
|
-
// To prevent unnecessary processing, "propValue" must be defined
|
|
189
|
+
// To prevent unnecessary processing, "propValue" must be defined
|
|
190
190
|
const isConstr = Model.isPropertyModel(newModel, propKey);
|
|
191
191
|
const hasPropValue = propValue !== null && propValue !== undefined;
|
|
192
192
|
if (hasPropValue && isConstr) {
|
|
193
193
|
const instance = propValue;
|
|
194
|
-
const Constr =
|
|
195
|
-
.map((d) =>
|
|
196
|
-
if (typeof d === "function" && !d.name)
|
|
197
|
-
d = d();
|
|
198
|
-
return Model.get(d.name || d);
|
|
199
|
-
})
|
|
194
|
+
const Constr = designTypes
|
|
195
|
+
.map((d) => Model.get(d.name || d))
|
|
200
196
|
.find((d) => !!d);
|
|
197
|
+
const designTypeNames = designTypes.map((d) => {
|
|
198
|
+
if (typeof d === "function")
|
|
199
|
+
return d.name ? d.name.toLowerCase() : d()?.name.toLowerCase();
|
|
200
|
+
return d.toLowerCase();
|
|
201
|
+
});
|
|
201
202
|
// Ensure instance is of the expected model class.
|
|
202
|
-
if (!Constr || !(
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
203
|
+
if (!Constr || !(propValue instanceof Constr)) {
|
|
204
|
+
if (designTypeNames.includes(typeof propValue)) {
|
|
205
|
+
// do nothing
|
|
206
|
+
}
|
|
207
|
+
else {
|
|
208
|
+
// If types don't match throw an error
|
|
209
|
+
propErrors[ValidationKeys.TYPE] = !Constr
|
|
210
|
+
? `Unable to verify type consistency, missing model registry for ${designTypes.toString()} on prop ${propKey}`
|
|
211
|
+
: `Value must be an instance of ${Constr.name}`;
|
|
212
|
+
delete propErrors[ModelKeys.TYPE]; // remove duplicate type error
|
|
213
|
+
}
|
|
207
214
|
}
|
|
208
215
|
else {
|
|
209
|
-
|
|
216
|
+
const nestedPropsToIgnore = getChildNestedPropsToIgnore(propKey, ...propsToIgnore);
|
|
217
|
+
nestedErrors[propKey] = instance.hasErrors(oldModel[prop], ...nestedPropsToIgnore);
|
|
210
218
|
}
|
|
211
219
|
}
|
|
212
220
|
// Add to the result if we have any errors
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../src/model/validation.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,EAEL,oBAAoB,EAEpB,SAAS,EACT,oBAAoB,EACpB,UAAU,EACV,cAAc,
|
|
1
|
+
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../src/model/validation.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,EAEL,oBAAoB,EAEpB,SAAS,EACT,oBAAoB,EACpB,UAAU,EACV,cAAc,EACd,2BAA2B,GAC5B,MAAM,gCAAgC,CAAC;AAExC,OAAO,EAAe,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAE7D;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,yBAAyB,CACvC,KAAQ,EACR,aAAuB;IAEvB,MAAM,mBAAmB,GAAU,EAAE,CAAC;IACtC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IACE,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC;YAClD,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC;YAE5B,SAAS;QAEX,MAAM,UAAU,GACd,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,WAA0B,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;QAEvE,6EAA6E;QAC7E,8EAA8E;QAC9E,6CAA6C;QAC7C,KAAK;QAEL,qBAAqB;QACrB,iEAAiE;QAEjE,mBAAmB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;IACjD,CAAC;IAED,OAAO,mBAAmB,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,iBAAiB,CAI/B,QAAW,EACX,QAAW,EACX,IAAY,EACZ,SAAc,EACd,KAAa;IAEb,MAAM,SAAS,GAAoB,UAAU,CAAC,GAAG,CAC/C,SAAS,CAAC,GAAG,CACK,CAAC;IAErB,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,yBAAyB,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED,+CAA+C;IAC/C,IAAI,CAAC,SAAS,CAAC,eAAe;QAAE,OAAO,oBAAoB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAE9E,sFAAsF;IACtF,IAAI,CAAC,KAAK,IAAI,SAAS,CAAC,KAAK;QAAE,OAAO,oBAAoB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAE7E,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;IAEtD,gDAAgD;IAChD,2BAA2B;IAC3B,sBAAsB;IACtB,MAAM;IAEN,MAAM,UAAU,GAAG,SAAS,CAAC,eAAe,CACzC,QAAgB,CAAC,IAAI,CAAC,EACtB,QAAgB,CAAC,IAAI,CAAC,EACvB,GAAG,cAAc,CAClB,CAAC;IAEF,OAAO,oBAAoB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,kBAAkB,CAIhC,QAAW,EACX,QAAW,EACX,IAAY,EACZ,UAAe,EACf,KAAa;IAEb,MAAM,MAAM,GAA6C,EAAE,CAAC;IAE5D,KAAK,MAAM,YAAY,IAAI,UAAU,EAAE,CAAC;QACtC,MAAM,SAAS,GAAG,EAAE,GAAG,UAAU,CAAC,YAAY,CAAC,EAAE,GAAG,EAAE,YAAY,EAAE,CAAC;QACrE,sFAAsF;QACtF,IAAI,CAAC,KAAK,IAAI,SAAS,CAAC,KAAK;YAAE,SAAS;QAExC,IAAI,gBAAgB,GAAG,iBAAiB,CACtC,QAAQ,EACR,QAAQ,EACR,IAAI,EACJ,SAAS,EACT,KAAK,CACN,CAAC;QAEF;;;;UAIE;QACF,IAAI,SAAS,CAAC,GAAG,KAAK,cAAc,CAAC,IAAI,IAAI,CAAC,CAAC,gBAAgB,IAAI,KAAK,CAAC,EAAE,CAAC;YAC1E,MAAM,YAAY,GAAI,QAAgB,CAAC,IAAI,CAAC,CAAC;YAC7C,MAAM,YAAY,GAAI,QAAgB,CAAC,IAAI,CAAC,CAAC;YAE7C,MAAM,SAAS,GACb,YAAY,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;YACjE,MAAM,SAAS,GACb,YAAY,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;YAEjE,IAAI,SAAS,EAAE,MAAM,EAAE,CAAC;gBACtB,MAAM,KAAK,GACT,SAAS,CAAC,KAAK,IAAI,SAAS,CAAC,KAAK,IAAI,SAAS,CAAC,WAAW,CAAC;gBAE9D,MAAM,YAAY,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;oBAC5C,CAAC,GAAG,OAAO,CAAC,KAAK,UAAU,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;oBACjD,CAAC,GAAI,CAAS,CAAC,IAAI,CAAC,CAAC,CAAE,CAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC1C,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;gBACjC,CAAC,CAAC,CAAC;gBAEH,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,UAAe,EAAE,EAAE;oBAC7C,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;wBAC9B,uDAAuD;wBACvD,MAAM,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC,UAAiB,EAAE,IAAI,CAAC,CAAC;wBAC7C,IAAI,CAAC,EAAE;4BAAE,OAAO,yBAAyB,CAAC;wBAC1C,MAAM,YAAY,GAAG,SAAS,CAAC,IAAI,CACjC,CAAC,EAAO,EAAE,EAAE,CAAC,EAAE,KAAK,KAAK,CAAC,EAAE,CAAC,EAAS,EAAE,IAAI,CAAC,CAC9C,CAAC;wBACF,OAAO,UAAU,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;oBAC5C,CAAC;oBACD,OAAO,YAAY,CAAC,QAAQ,CAAC,OAAO,UAAU,CAAC;wBAC7C,CAAC,CAAC,SAAS;wBACX,CAAC,CAAC,+BAA+B,CAAC;gBACtC,CAAC,CAAC,CAAC;gBAEH,IAAI,KAAK,EAAE,CAAC;oBACV,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;wBACnD,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;wBACzC,OAAO,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC;oBACvC,CAAC,CAAQ,CAAC;gBACZ,CAAC;qBAAM,CAAC;oBACN,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAqB,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC3D,gBAAgB,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;gBACrE,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,gBAAgB;YAAG,MAAc,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,gBAAgB,CAAC;IAC1E,CAAC;IAED,IAAI,CAAC,KAAK;QACR,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAE,MAAc,CAAC,CAAC,CAAC,SAAS,CAAC;IAEtE,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACjC,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAkC,CAAC;IACxE,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,cAAc,EAAE,EAAE;QACnD,MAAM,GAAG,GAA2B,EAAE,CAAC;QACvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC/C,MAAM,GAAG,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;YAC9B,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;gBACtB,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;YACrB,CAAC;QACH,CAAC;QACD,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;IACvD,CAAC,CAAQ,CAAC;AACZ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,UAAU,eAAe,CAC7B,QAAW,EACX,QAAW,EACX,KAAc,EACd,GAAG,aAAuB;IAE1B,MAAM,sBAAsB,GAAG,yBAAyB,CACtD,QAAQ,EACR,aAAa,CACd,CAAC;IAEF,MAAM,MAAM,GAAwB,EAAE,CAAC;IACvC,MAAM,YAAY,GAAwB,EAAE,CAAC;IAE7C,KAAK,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,sBAAsB,EAAE,CAAC;QAC1D,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QAC7B,MAAM,SAAS,GAAI,QAAgB,CAAC,IAAI,CAAC,CAAC;QAE1C,MAAM,EAAE,WAAW,EAAE,GAAG,QAAQ,CAAC,kBAAkB,CACjD,QAAQ,CAAC,WAAkB,EAC3B,IAAe,CAChB,CAAC;QACF,IAAI,CAAC,WAAW;YAAE,SAAS;QAE3B,wEAAwE;QACxE,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAChE,IACE,CAAC,UAAU;gBACX,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,EACtD,CAAC;gBACD,MAAM,CAAC,OAAO,CAAC,GAAG;oBAChB,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,0BAA0B,OAAO,8BAA8B;iBACvF,CAAC;gBACF,SAAS;YACX,CAAC;YAED,IACE,SAAS;gBACT,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,SAAS,YAAY,GAAG,CAAC,EACvD,CAAC;gBACD,MAAM,CAAC,OAAO,CAAC,GAAG;oBAChB,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,aAAa,MAAM,CAAC,IAAI,CAAC,oCAAoC;iBACrF,CAAC;gBACF,SAAS;YACX,CAAC;QACH,CAAC;QAED,mFAAmF;QACnF,MAAM,UAAU,GACd,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;QAE3E,0BAA0B;QAC1B,iEAAiE;QACjE,MAAM,QAAQ,GAAG,KAAK,CAAC,eAAe,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC1D,MAAM,YAAY,GAAG,SAAS,KAAK,IAAI,IAAI,SAAS,KAAK,SAAS,CAAC;QAEnE,IAAI,YAAY,IAAI,QAAQ,EAAE,CAAC;YAC7B,MAAM,QAAQ,GAAG,SAAkB,CAAC;YAEpC,MAAM,MAAM,GAAG,WAAW;iBACvB,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;iBACvC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAQ,CAAC;YAEhC,MAAM,eAAe,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE;gBACjD,IAAI,OAAO,CAAC,KAAK,UAAU;oBACzB,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjE,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;YACzB,CAAC,CAAC,CAAC;YAEH,kDAAkD;YAClD,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,SAAS,YAAY,MAAM,CAAC,EAAE,CAAC;gBAC9C,IAAI,eAAe,CAAC,QAAQ,CAAC,OAAO,SAAS,CAAC,EAAE,CAAC;oBAC/C,aAAa;gBACf,CAAC;qBAAM,CAAC;oBACN,sCAAsC;oBACtC,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM;wBACvC,CAAC,CAAC,iEAAiE,WAAW,CAAC,QAAQ,EAAE,YAAY,OAAO,EAAE;wBAC9G,CAAC,CAAC,gCAAgC,MAAM,CAAC,IAAI,EAAE,CAAC;oBAClD,OAAO,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,8BAA8B;gBACnE,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,mBAAmB,GAAG,2BAA2B,CACrD,OAAO,EACP,GAAG,aAAa,CACjB,CAAC;gBACF,YAAY,CAAC,OAAO,CAAC,GAAG,QAAQ,CAAC,SAAS,CACvC,QAAgB,CAAC,IAAI,CAAC,EACvB,GAAG,mBAAmB,CACvB,CAAC;YACJ,CAAC;QACH,CAAC;QAED,0CAA0C;QAC1C,+EAA+E;QAC/E,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK;YAC7C,MAAM,CAAC,OAAO,CAAC,GAAG,UAAU,CAAC;QAE/B,+BAA+B;QAC/B,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;gBACnE,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;oBACxB,MAAM,CAAC,GAAG,OAAO,IAAI,GAAG,EAAE,CAAC,GAAG,KAAK,CAAC;gBACtC,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,qBAAqB;IACrB,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,CACL,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC;YAC5B,CAAC,CAAC,IAAI,oBAAoB,CAAC,MAAM,CAAC;YAClC,CAAC,CAAC,SAAS,CACP,CAAC;IACX,CAAC;IAED,MAAM,MAAM,GAAQ,MAAM,CAAC,CAAC,wBAAwB;IAEpD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACjC,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACvC,OAAO,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACzD,MAAM,MAAM,GAAgB,EAAE,CAAC;QAE/B,KAAK,MAAM,CAAC,UAAU,EAAE,gBAAgB,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;YAC1E,MAAM,mBAAmB,GAAG,CAAC,MAAM,gBAAgB,CAGlD,CAAC;YAEF,IAAI,mBAAmB;gBACrB,MAAM,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,OAAO,CACzC,CAAC,CAAC,UAAU,EAAE,kBAAkB,CAAC,EAAE,EAAE;oBACnC,IAAI,kBAAkB,KAAK,SAAS,EAAE,CAAC;wBACrC,MAAM,SAAS,GAAG,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;wBACrD,MAAM,CAAC,SAAS,CAAC,GAAG,kBAAkB,CAAC;oBACzC,CAAC;gBACH,CAAC,CACF,CAAC;QACN,CAAC;QAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACxC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACpB,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YAEvB,IAAI,GAAG,CAAC,MAAM,KAAK,WAAW,IAAI,GAAG,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;gBACzD,MAAc,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC;YACnC,CAAC;iBAAM,IAAI,GAAG,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;gBACpC,MAAc,CAAC,GAAG,CAAC;oBAClB,GAAG,CAAC,MAAM,YAAY,KAAK;wBACzB,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO;wBACpB,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,IAAI,mBAAmB,CAAC,CAAC;YAClD,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC;YACnC,CAAC,CAAC,IAAI,oBAAoB,CAAC,MAAM,CAAC;YAClC,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC,CAAQ,CAAC;AACZ,CAAC"}
|
|
@@ -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 (model, keyValue = false) {
|
|
71
|
+
Model.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;
|
|
@@ -83,7 +83,7 @@ Model.pk = function (model, keyValue = false) {
|
|
|
83
83
|
return model[key];
|
|
84
84
|
throw new Error("Cannot get the value of the pk from the constructor");
|
|
85
85
|
}.bind(Model);
|
|
86
|
-
Model.pkProps = function (model) {
|
|
86
|
+
Model.pkProps = function pkProps(model) {
|
|
87
87
|
return Metadata.get(model, Metadata.key(DBKeys.ID, Model.pk(model)));
|
|
88
88
|
}.bind(Model);
|
|
89
89
|
Model.isTransient = function isTransient(model) {
|
|
@@ -113,12 +113,12 @@ Model.merge = function merge(oldModel, newModel, constructor) {
|
|
|
113
113
|
}, {});
|
|
114
114
|
return new constructor(Object.assign({}, extract(oldModel), extract(newModel)));
|
|
115
115
|
}.bind(Model);
|
|
116
|
-
Metadata.saveOperation = function (model, propertyKey, operation, metadata) {
|
|
116
|
+
Metadata.saveOperation = function saveOperation(model, propertyKey, operation, metadata) {
|
|
117
117
|
if (!propertyKey)
|
|
118
118
|
return;
|
|
119
119
|
Metadata.set(model, Metadata.key(ModelOperations.OPERATIONS, propertyKey, operation), metadata);
|
|
120
120
|
}.bind(Metadata);
|
|
121
|
-
Metadata.readOperation = function (model, propertyKey, operation) {
|
|
121
|
+
Metadata.readOperation = function readOperation(model, propertyKey, operation) {
|
|
122
122
|
if (!propertyKey || !operation)
|
|
123
123
|
return;
|
|
124
124
|
return Metadata.get(model, Metadata.key(ModelOperations.OPERATIONS, propertyKey, operation));
|
|
@@ -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":"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,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;AACrC,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,OAAO,CACL,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC;QAC7B,CAAC,GAAG,CAAC,GAAG,CAAC,yBAAyB,CAAC;QACnC,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,WAAW,CACnC,CAAC;AACJ,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC"}
|
|
@@ -3,7 +3,7 @@ import { Contextual, FlagsOf } from "../interfaces/Contextual";
|
|
|
3
3
|
import { OperationKeys } from "../operations/constants";
|
|
4
4
|
import { Model } from "@decaf-ts/decorator-validation";
|
|
5
5
|
import { ObjectAccumulator } from "typed-object-accumulator";
|
|
6
|
-
import { FlagsOfContext, LoggerOfFlags, RepositoryFlags } from "./types";
|
|
6
|
+
import { ContextFlags, FlagsOfContext, LoggerOfFlags, RepositoryFlags } from "./types";
|
|
7
7
|
import { Constructor } from "@decaf-ts/decoration";
|
|
8
8
|
/**
|
|
9
9
|
* @description Factory type for creating context instances.
|
|
@@ -79,7 +79,7 @@ export declare const DefaultContextFactory: ContextFactory<any>;
|
|
|
79
79
|
* end
|
|
80
80
|
* Ctx-->>C: requested value
|
|
81
81
|
*/
|
|
82
|
-
export declare class Context<F extends
|
|
82
|
+
export declare class Context<F extends ContextFlags<any> = RepositoryFlags<any>> {
|
|
83
83
|
constructor();
|
|
84
84
|
static factory: ContextFactory<any>;
|
|
85
85
|
readonly cache: RepositoryFlags<any> & ObjectAccumulator<any>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Context.js","sourceRoot":"","sources":["../../../src/repository/Context.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,sBAAsB,EAAE,uBAAoB;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"Context.js","sourceRoot":"","sources":["../../../src/repository/Context.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,6 +13,10 @@ import { IRepository } from "../interfaces/index";
|
|
|
13
13
|
* @memberOf module:db-decorators
|
|
14
14
|
*/
|
|
15
15
|
export type ModelExtension<M extends Model = Model> = M extends Model ? M : never;
|
|
16
|
+
export type ContextFlags<LOG extends Logger> = {
|
|
17
|
+
logger: LOG;
|
|
18
|
+
timestamp: Date;
|
|
19
|
+
};
|
|
16
20
|
/**
|
|
17
21
|
* @description Configuration flags for repository operations.
|
|
18
22
|
* @summary Defines the configuration options that control repository behavior during operations.
|
|
@@ -30,14 +34,13 @@ export type ModelExtension<M extends Model = Model> = M extends Model ? M : neve
|
|
|
30
34
|
* @property {boolean} rebuildWithTransient - Whether to include transient properties when rebuilding models
|
|
31
35
|
* @memberOf module:db-decorators
|
|
32
36
|
*/
|
|
33
|
-
export interface RepositoryFlags<LOG extends Logger = Logger> {
|
|
37
|
+
export interface RepositoryFlags<LOG extends Logger = Logger> extends ContextFlags<LOG> {
|
|
34
38
|
parentContext?: Context<any>;
|
|
35
39
|
childContexts?: Context<any>[];
|
|
36
40
|
callArgs?: any[];
|
|
37
41
|
ignoredValidationProperties: string[];
|
|
38
42
|
affectedTables: (string | Constructor<ModelExtension>)[] | string | Constructor<ModelExtension>;
|
|
39
43
|
writeOperation: boolean;
|
|
40
|
-
timestamp: Date;
|
|
41
44
|
operation?: OperationKeys;
|
|
42
45
|
breakOnHandlerError: boolean;
|
|
43
46
|
rebuildWithTransient: boolean;
|
|
@@ -46,11 +49,10 @@ export interface RepositoryFlags<LOG extends Logger = Logger> {
|
|
|
46
49
|
ignoreDevSafeGuards: boolean;
|
|
47
50
|
mergeForUpdate: boolean;
|
|
48
51
|
applyUpdateValidation: boolean;
|
|
49
|
-
logger: LOG;
|
|
50
52
|
correlationId?: string;
|
|
51
53
|
allowGenerationOverride: boolean;
|
|
52
54
|
}
|
|
53
|
-
export type LoggerOfFlags<R extends
|
|
55
|
+
export type LoggerOfFlags<R extends ContextFlags<any>> = R extends ContextFlags<infer L> ? L : never;
|
|
54
56
|
export type FlagsOfContext<C extends Context<any>> = C extends Context<infer F> ? F : never;
|
|
55
57
|
export type LoggerOfContext<C extends Context<any>> = LoggerOfFlags<FlagsOfContext<C>>;
|
|
56
58
|
export type ContextOfRepository<R extends IRepository<any, any>> = R extends IRepository<any, infer C> ? C : never;
|
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.
|
|
37
|
+
exports.VERSION = "0.8.5";
|
|
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
package/lib/model/validation.cjs
CHANGED
|
@@ -89,12 +89,12 @@ function validateDecorators(newModel, oldModel, prop, decorators, async) {
|
|
|
89
89
|
return String(t).toLowerCase();
|
|
90
90
|
});
|
|
91
91
|
const errs = newValues.map((childValue) => {
|
|
92
|
-
// find by id so the list elements order doesn't matter
|
|
93
|
-
const id = decorator_validation_1.Model.pk(childValue, true);
|
|
94
|
-
if (!id)
|
|
95
|
-
return "Failed to find model id";
|
|
96
|
-
const oldListModel = oldValues.find((el) => id === decorator_validation_1.Model.pk(el, true));
|
|
97
92
|
if (decorator_validation_1.Model.isModel(childValue)) {
|
|
93
|
+
// find by id so the list elements order doesn't matter
|
|
94
|
+
const id = decorator_validation_1.Model.pk(childValue, true);
|
|
95
|
+
if (!id)
|
|
96
|
+
return "Failed to find model id";
|
|
97
|
+
const oldListModel = oldValues.find((el) => id === decorator_validation_1.Model.pk(el, true));
|
|
98
98
|
return childValue.hasErrors(oldListModel);
|
|
99
99
|
}
|
|
100
100
|
return allowedTypes.includes(typeof childValue)
|
|
@@ -169,7 +169,7 @@ function validateCompare(oldModel, newModel, async, ...propsToIgnore) {
|
|
|
169
169
|
for (const { prop, decorators } of ValidatableUpdateProps) {
|
|
170
170
|
const propKey = String(prop);
|
|
171
171
|
const propValue = newModel[prop];
|
|
172
|
-
const { designTypes
|
|
172
|
+
const { designTypes } = decoration_1.Metadata.getPropDesignTypes(newModel.constructor, prop);
|
|
173
173
|
if (!designTypes)
|
|
174
174
|
continue;
|
|
175
175
|
// Handle array or Set types and enforce the presence of @list decorator
|
|
@@ -192,27 +192,35 @@ function validateCompare(oldModel, newModel, async, ...propsToIgnore) {
|
|
|
192
192
|
// TODO: Check validateDecorators method partially working. Complete check pending.
|
|
193
193
|
const propErrors = validateDecorators(newModel, oldModel, propKey, decorators, async) || {};
|
|
194
194
|
// Check for nested model.
|
|
195
|
-
// To prevent unnecessary processing, "propValue" must be defined
|
|
195
|
+
// To prevent unnecessary processing, "propValue" must be defined
|
|
196
196
|
const isConstr = decorator_validation_1.Model.isPropertyModel(newModel, propKey);
|
|
197
197
|
const hasPropValue = propValue !== null && propValue !== undefined;
|
|
198
198
|
if (hasPropValue && isConstr) {
|
|
199
199
|
const instance = propValue;
|
|
200
|
-
const Constr =
|
|
201
|
-
.map((d) =>
|
|
202
|
-
if (typeof d === "function" && !d.name)
|
|
203
|
-
d = d();
|
|
204
|
-
return decorator_validation_1.Model.get(d.name || d);
|
|
205
|
-
})
|
|
200
|
+
const Constr = designTypes
|
|
201
|
+
.map((d) => decorator_validation_1.Model.get(d.name || d))
|
|
206
202
|
.find((d) => !!d);
|
|
203
|
+
const designTypeNames = designTypes.map((d) => {
|
|
204
|
+
if (typeof d === "function")
|
|
205
|
+
return d.name ? d.name.toLowerCase() : d()?.name.toLowerCase();
|
|
206
|
+
return d.toLowerCase();
|
|
207
|
+
});
|
|
207
208
|
// Ensure instance is of the expected model class.
|
|
208
|
-
if (!Constr || !(
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
209
|
+
if (!Constr || !(propValue instanceof Constr)) {
|
|
210
|
+
if (designTypeNames.includes(typeof propValue)) {
|
|
211
|
+
// do nothing
|
|
212
|
+
}
|
|
213
|
+
else {
|
|
214
|
+
// If types don't match throw an error
|
|
215
|
+
propErrors[decorator_validation_1.ValidationKeys.TYPE] = !Constr
|
|
216
|
+
? `Unable to verify type consistency, missing model registry for ${designTypes.toString()} on prop ${propKey}`
|
|
217
|
+
: `Value must be an instance of ${Constr.name}`;
|
|
218
|
+
delete propErrors[decorator_validation_1.ModelKeys.TYPE]; // remove duplicate type error
|
|
219
|
+
}
|
|
213
220
|
}
|
|
214
221
|
else {
|
|
215
|
-
|
|
222
|
+
const nestedPropsToIgnore = (0, decorator_validation_1.getChildNestedPropsToIgnore)(propKey, ...propsToIgnore);
|
|
223
|
+
nestedErrors[propKey] = instance.hasErrors(oldModel[prop], ...nestedPropsToIgnore);
|
|
216
224
|
}
|
|
217
225
|
}
|
|
218
226
|
// Add to the result if we have any errors
|