@decaf-ts/db-decorators 0.1.6 → 0.3.0
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 +4 -4
- package/dist/db-decorators.bundle.min.js +1 -1
- package/dist/esm/db-decorators.bundle.min.esm.js +1 -1
- package/lib/esm/identity/decorators.d.ts +1 -1
- package/lib/esm/identity/decorators.js +10 -1
- package/lib/esm/identity/index.js +4 -1
- package/lib/esm/identity/utils.d.ts +6 -9
- package/lib/esm/identity/utils.js +63 -1
- package/lib/esm/index.js +35 -1
- package/lib/esm/interfaces/BulkCrudOperator.d.ts +7 -0
- package/lib/esm/interfaces/BulkCrudOperator.js +3 -0
- package/lib/esm/interfaces/CrudOperator.d.ts +5 -5
- package/lib/esm/interfaces/CrudOperator.js +3 -0
- package/lib/esm/interfaces/IRepository.d.ts +4 -5
- package/lib/esm/interfaces/IRepository.js +3 -0
- package/lib/esm/interfaces/index.d.ts +1 -0
- package/lib/esm/interfaces/index.js +5 -1
- package/lib/esm/model/constants.d.ts +1 -1
- package/lib/esm/model/constants.js +39 -1
- package/lib/esm/model/decorators.d.ts +5 -7
- package/lib/esm/model/decorators.js +69 -1
- package/lib/esm/model/index.d.ts +2 -1
- package/lib/esm/model/index.js +6 -1
- package/lib/esm/model/model.d.ts +8 -0
- package/lib/esm/model/model.js +14 -0
- package/lib/esm/model/validation.d.ts +1 -2
- package/lib/esm/model/validation.js +122 -1
- package/lib/esm/operations/Operations.d.ts +3 -4
- package/lib/esm/operations/Operations.js +35 -1
- package/lib/esm/operations/OperationsRegistry.d.ts +2 -3
- package/lib/esm/operations/OperationsRegistry.js +65 -1
- package/lib/esm/operations/constants.d.ts +1 -1
- package/lib/esm/operations/constants.js +39 -1
- package/lib/esm/operations/decorators.js +226 -1
- package/lib/esm/operations/index.js +7 -1
- package/lib/esm/operations/types.d.ts +4 -5
- package/lib/esm/operations/types.js +3 -0
- package/lib/esm/repository/BaseRepository.d.ts +26 -14
- package/lib/esm/repository/BaseRepository.js +158 -1
- package/lib/esm/repository/DataCache.js +32 -1
- package/lib/esm/repository/Repository.d.ts +11 -10
- package/lib/esm/repository/Repository.js +89 -1
- package/lib/esm/repository/errors.js +88 -1
- package/lib/esm/repository/index.js +8 -1
- package/lib/esm/repository/utils.d.ts +3 -4
- package/lib/esm/repository/utils.js +167 -1
- package/lib/esm/repository/wrappers.js +90 -1
- package/lib/esm/validation/constants.js +33 -1
- package/lib/esm/validation/decorators.d.ts +6 -8
- package/lib/esm/validation/decorators.js +223 -1
- package/lib/esm/validation/index.js +5 -1
- package/lib/esm/validation/validators/ReadOnlyValidator.js +52 -1
- package/lib/esm/validation/validators/TimestampValidator.js +49 -1
- package/lib/esm/validation/validators/UpdateValidator.js +20 -1
- package/lib/esm/validation/validators/index.js +5 -1
- package/lib/identity/decorators.cjs +13 -1
- package/lib/identity/decorators.d.ts +1 -1
- package/lib/identity/index.cjs +20 -1
- package/lib/identity/utils.cjs +67 -1
- package/lib/identity/utils.d.ts +6 -9
- package/lib/index.cjs +51 -1
- package/lib/interfaces/BulkCrudOperator.cjs +4 -0
- package/lib/interfaces/BulkCrudOperator.d.ts +7 -0
- package/lib/interfaces/CrudOperator.cjs +4 -1
- package/lib/interfaces/CrudOperator.d.ts +5 -5
- package/lib/interfaces/IRepository.cjs +4 -1
- package/lib/interfaces/IRepository.d.ts +4 -5
- package/lib/interfaces/index.cjs +21 -1
- package/lib/interfaces/index.d.ts +1 -0
- package/lib/model/constants.cjs +42 -1
- package/lib/model/constants.d.ts +1 -1
- package/lib/model/decorators.cjs +76 -1
- package/lib/model/decorators.d.ts +5 -7
- package/lib/model/index.cjs +22 -1
- package/lib/model/index.d.ts +2 -1
- package/lib/model/model.cjs +16 -0
- package/lib/model/model.d.ts +8 -0
- package/lib/model/validation.cjs +125 -1
- package/lib/model/validation.d.ts +1 -2
- package/lib/operations/Operations.cjs +39 -1
- package/lib/operations/Operations.d.ts +3 -4
- package/lib/operations/OperationsRegistry.cjs +69 -1
- package/lib/operations/OperationsRegistry.d.ts +2 -3
- package/lib/operations/constants.cjs +42 -1
- package/lib/operations/constants.d.ts +1 -1
- package/lib/operations/decorators.cjs +241 -1
- package/lib/operations/index.cjs +23 -1
- package/lib/operations/types.cjs +4 -1
- package/lib/operations/types.d.ts +4 -5
- package/lib/repository/BaseRepository.cjs +162 -1
- package/lib/repository/BaseRepository.d.ts +26 -14
- package/lib/repository/DataCache.cjs +36 -1
- package/lib/repository/Repository.cjs +93 -1
- package/lib/repository/Repository.d.ts +11 -10
- package/lib/repository/errors.cjs +97 -1
- package/lib/repository/index.cjs +24 -1
- package/lib/repository/utils.cjs +174 -1
- package/lib/repository/utils.d.ts +3 -4
- package/lib/repository/wrappers.cjs +95 -1
- package/lib/validation/constants.cjs +36 -1
- package/lib/validation/decorators.cjs +232 -1
- package/lib/validation/decorators.d.ts +6 -8
- package/lib/validation/index.cjs +21 -1
- package/lib/validation/validators/ReadOnlyValidator.cjs +55 -1
- package/lib/validation/validators/TimestampValidator.cjs +52 -1
- package/lib/validation/validators/UpdateValidator.cjs +24 -1
- package/lib/validation/validators/index.cjs +21 -1
- package/package.json +18 -16
- package/lib/esm/model/DBModel.d.ts +0 -25
- package/lib/esm/model/DBModel.js +0 -1
- package/lib/esm/validation/comparison.d.ts +0 -1
- package/lib/esm/validation/comparison.js +0 -1
- package/lib/model/DBModel.cjs +0 -1
- package/lib/model/DBModel.d.ts +0 -25
- package/lib/validation/comparison.cjs +0 -1
- package/lib/validation/comparison.d.ts +0 -1
|
@@ -1 +1,5 @@
|
|
|
1
|
-
export*from"./validators";
|
|
1
|
+
export * from "./validators";
|
|
2
|
+
export * from "./constants";
|
|
3
|
+
export * from "./decorators";
|
|
4
|
+
|
|
5
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy92YWxpZGF0aW9uL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsY0FBYyxDQUFDIiwiZmlsZSI6InZhbGlkYXRpb24vaW5kZXguanMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi92YWxpZGF0b3JzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb25zdGFudHNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2RlY29yYXRvcnNcIjtcbiJdfQ==
|
|
@@ -1 +1,52 @@
|
|
|
1
|
-
var __decorate=
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
import { validator, Validator } from "@decaf-ts/decorator-validation";
|
|
11
|
+
import { DEFAULT_ERROR_MESSAGES, UpdateValidationKeys } from "../constants";
|
|
12
|
+
import { isEqual } from "@decaf-ts/reflection";
|
|
13
|
+
/**
|
|
14
|
+
* @summary Validator for the {@link readonly} decorator
|
|
15
|
+
*
|
|
16
|
+
* @class ReadOnlyValidator
|
|
17
|
+
* @extends Validator
|
|
18
|
+
*
|
|
19
|
+
* @category Validators
|
|
20
|
+
*/
|
|
21
|
+
let ReadOnlyValidator = class ReadOnlyValidator extends Validator {
|
|
22
|
+
constructor() {
|
|
23
|
+
super(DEFAULT_ERROR_MESSAGES.READONLY.INVALID);
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* @inheritDoc
|
|
27
|
+
*/
|
|
28
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
29
|
+
hasErrors(value, ...args) {
|
|
30
|
+
return undefined;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* @summary Validates a value has not changed
|
|
34
|
+
* @param {any} value
|
|
35
|
+
* @param {any} oldValue
|
|
36
|
+
* @param {string} [message] the error message override
|
|
37
|
+
*/
|
|
38
|
+
updateHasErrors(value, oldValue, message) {
|
|
39
|
+
if (value === undefined)
|
|
40
|
+
return;
|
|
41
|
+
return isEqual(value, oldValue)
|
|
42
|
+
? undefined
|
|
43
|
+
: this.getMessage(message || this.message);
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
ReadOnlyValidator = __decorate([
|
|
47
|
+
validator(UpdateValidationKeys.READONLY),
|
|
48
|
+
__metadata("design:paramtypes", [])
|
|
49
|
+
], ReadOnlyValidator);
|
|
50
|
+
export { ReadOnlyValidator };
|
|
51
|
+
|
|
52
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy92YWxpZGF0aW9uL3ZhbGlkYXRvcnMvUmVhZE9ubHlWYWxpZGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN0RSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDNUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRS9DOzs7Ozs7O0dBT0c7QUFFSSxJQUFNLGlCQUFpQixHQUF2QixNQUFNLGlCQUFrQixTQUFRLFNBQVM7SUFDOUM7UUFDRSxLQUFLLENBQUMsc0JBQXNCLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRDs7T0FFRztJQUNILDZEQUE2RDtJQUM3RCxTQUFTLENBQUMsS0FBVSxFQUFFLEdBQUcsSUFBVztRQUNsQyxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSxlQUFlLENBQ3BCLEtBQVUsRUFDVixRQUFhLEVBQ2IsT0FBZ0I7UUFFaEIsSUFBSSxLQUFLLEtBQUssU0FBUztZQUFFLE9BQU87UUFFaEMsT0FBTyxPQUFPLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQztZQUM3QixDQUFDLENBQUMsU0FBUztZQUNYLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDL0MsQ0FBQztDQUNGLENBQUE7QUE5QlksaUJBQWlCO0lBRDdCLFNBQVMsQ0FBQyxvQkFBb0IsQ0FBQyxRQUFRLENBQUM7O0dBQzVCLGlCQUFpQixDQThCN0IiLCJmaWxlIjoidmFsaWRhdGlvbi92YWxpZGF0b3JzL1JlYWRPbmx5VmFsaWRhdG9yLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdmFsaWRhdG9yLCBWYWxpZGF0b3IgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRvci12YWxpZGF0aW9uXCI7XG5pbXBvcnQgeyBERUZBVUxUX0VSUk9SX01FU1NBR0VTLCBVcGRhdGVWYWxpZGF0aW9uS2V5cyB9IGZyb20gXCIuLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IGlzRXF1YWwgfSBmcm9tIFwiQGRlY2FmLXRzL3JlZmxlY3Rpb25cIjtcblxuLyoqXG4gKiBAc3VtbWFyeSBWYWxpZGF0b3IgZm9yIHRoZSB7QGxpbmsgcmVhZG9ubHl9IGRlY29yYXRvclxuICpcbiAqIEBjbGFzcyBSZWFkT25seVZhbGlkYXRvclxuICogQGV4dGVuZHMgVmFsaWRhdG9yXG4gKlxuICogQGNhdGVnb3J5IFZhbGlkYXRvcnNcbiAqL1xuQHZhbGlkYXRvcihVcGRhdGVWYWxpZGF0aW9uS2V5cy5SRUFET05MWSlcbmV4cG9ydCBjbGFzcyBSZWFkT25seVZhbGlkYXRvciBleHRlbmRzIFZhbGlkYXRvciB7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKERFRkFVTFRfRVJST1JfTUVTU0FHRVMuUkVBRE9OTFkuSU5WQUxJRCk7XG4gIH1cblxuICAvKipcbiAgICogQGluaGVyaXREb2NcbiAgICovXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgaGFzRXJyb3JzKHZhbHVlOiBhbnksIC4uLmFyZ3M6IGFueVtdKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgLyoqXG4gICAqIEBzdW1tYXJ5IFZhbGlkYXRlcyBhIHZhbHVlIGhhcyBub3QgY2hhbmdlZFxuICAgKiBAcGFyYW0ge2FueX0gdmFsdWVcbiAgICogQHBhcmFtIHthbnl9IG9sZFZhbHVlXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbbWVzc2FnZV0gdGhlIGVycm9yIG1lc3NhZ2Ugb3ZlcnJpZGVcbiAgICovXG4gIHB1YmxpYyB1cGRhdGVIYXNFcnJvcnMoXG4gICAgdmFsdWU6IGFueSxcbiAgICBvbGRWYWx1ZTogYW55LFxuICAgIG1lc3NhZ2U/OiBzdHJpbmcsXG4gICk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQpIHJldHVybjtcblxuICAgIHJldHVybiBpc0VxdWFsKHZhbHVlLCBvbGRWYWx1ZSlcbiAgICAgID8gdW5kZWZpbmVkXG4gICAgICA6IHRoaXMuZ2V0TWVzc2FnZShtZXNzYWdlIHx8IHRoaXMubWVzc2FnZSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1 +1,49 @@
|
|
|
1
|
-
var __decorate=
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
import { validator, Validator } from "@decaf-ts/decorator-validation";
|
|
11
|
+
import { DEFAULT_ERROR_MESSAGES, UpdateValidationKeys } from "../constants";
|
|
12
|
+
/**
|
|
13
|
+
* @summary Validates the update of a timestamp
|
|
14
|
+
*
|
|
15
|
+
* @class TimestampValidator
|
|
16
|
+
* @extends Validator
|
|
17
|
+
*
|
|
18
|
+
* @category Validators
|
|
19
|
+
*/
|
|
20
|
+
let TimestampValidator = class TimestampValidator extends Validator {
|
|
21
|
+
constructor() {
|
|
22
|
+
super(DEFAULT_ERROR_MESSAGES.TIMESTAMP.INVALID);
|
|
23
|
+
}
|
|
24
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
25
|
+
hasErrors(value, ...args) {
|
|
26
|
+
return undefined;
|
|
27
|
+
}
|
|
28
|
+
updateHasErrors(value, oldValue, message) {
|
|
29
|
+
if (value === undefined)
|
|
30
|
+
return;
|
|
31
|
+
message = message || this.getMessage(message || this.message);
|
|
32
|
+
try {
|
|
33
|
+
value = new Date(value);
|
|
34
|
+
oldValue = new Date(oldValue);
|
|
35
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
36
|
+
}
|
|
37
|
+
catch (e) {
|
|
38
|
+
return message;
|
|
39
|
+
}
|
|
40
|
+
return value <= oldValue ? message : undefined;
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
TimestampValidator = __decorate([
|
|
44
|
+
validator(UpdateValidationKeys.TIMESTAMP),
|
|
45
|
+
__metadata("design:paramtypes", [])
|
|
46
|
+
], TimestampValidator);
|
|
47
|
+
export { TimestampValidator };
|
|
48
|
+
|
|
49
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy92YWxpZGF0aW9uL3ZhbGlkYXRvcnMvVGltZXN0YW1wVmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLG9CQUFvQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRTVFOzs7Ozs7O0dBT0c7QUFFSSxJQUFNLGtCQUFrQixHQUF4QixNQUFNLGtCQUFtQixTQUFRLFNBQVM7SUFDL0M7UUFDRSxLQUFLLENBQUMsc0JBQXNCLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFRCw2REFBNkQ7SUFDN0QsU0FBUyxDQUFDLEtBQVUsRUFBRSxHQUFHLElBQVc7UUFDbEMsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUVNLGVBQWUsQ0FDcEIsS0FBNkIsRUFDN0IsUUFBZ0MsRUFDaEMsT0FBZ0I7UUFFaEIsSUFBSSxLQUFLLEtBQUssU0FBUztZQUFFLE9BQU87UUFFaEMsT0FBTyxHQUFHLE9BQU8sSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFOUQsSUFBSSxDQUFDO1lBQ0gsS0FBSyxHQUFHLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3hCLFFBQVEsR0FBRyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUM5Qiw2REFBNkQ7UUFDL0QsQ0FBQztRQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDWCxPQUFPLE9BQU8sQ0FBQztRQUNqQixDQUFDO1FBRUQsT0FBTyxLQUFLLElBQUksUUFBUSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUNqRCxDQUFDO0NBQ0YsQ0FBQTtBQTdCWSxrQkFBa0I7SUFEOUIsU0FBUyxDQUFDLG9CQUFvQixDQUFDLFNBQVMsQ0FBQzs7R0FDN0Isa0JBQWtCLENBNkI5QiIsImZpbGUiOiJ2YWxpZGF0aW9uL3ZhbGlkYXRvcnMvVGltZXN0YW1wVmFsaWRhdG9yLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdmFsaWRhdG9yLCBWYWxpZGF0b3IgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRvci12YWxpZGF0aW9uXCI7XG5pbXBvcnQgeyBERUZBVUxUX0VSUk9SX01FU1NBR0VTLCBVcGRhdGVWYWxpZGF0aW9uS2V5cyB9IGZyb20gXCIuLi9jb25zdGFudHNcIjtcblxuLyoqXG4gKiBAc3VtbWFyeSBWYWxpZGF0ZXMgdGhlIHVwZGF0ZSBvZiBhIHRpbWVzdGFtcFxuICpcbiAqIEBjbGFzcyBUaW1lc3RhbXBWYWxpZGF0b3JcbiAqIEBleHRlbmRzIFZhbGlkYXRvclxuICpcbiAqIEBjYXRlZ29yeSBWYWxpZGF0b3JzXG4gKi9cbkB2YWxpZGF0b3IoVXBkYXRlVmFsaWRhdGlvbktleXMuVElNRVNUQU1QKVxuZXhwb3J0IGNsYXNzIFRpbWVzdGFtcFZhbGlkYXRvciBleHRlbmRzIFZhbGlkYXRvciB7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKERFRkFVTFRfRVJST1JfTUVTU0FHRVMuVElNRVNUQU1QLklOVkFMSUQpO1xuICB9XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICBoYXNFcnJvcnModmFsdWU6IGFueSwgLi4uYXJnczogYW55W10pOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBwdWJsaWMgdXBkYXRlSGFzRXJyb3JzKFxuICAgIHZhbHVlOiBEYXRlIHwgc3RyaW5nIHwgbnVtYmVyLFxuICAgIG9sZFZhbHVlOiBEYXRlIHwgc3RyaW5nIHwgbnVtYmVyLFxuICAgIG1lc3NhZ2U/OiBzdHJpbmdcbiAgKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCkgcmV0dXJuO1xuXG4gICAgbWVzc2FnZSA9IG1lc3NhZ2UgfHwgdGhpcy5nZXRNZXNzYWdlKG1lc3NhZ2UgfHwgdGhpcy5tZXNzYWdlKTtcblxuICAgIHRyeSB7XG4gICAgICB2YWx1ZSA9IG5ldyBEYXRlKHZhbHVlKTtcbiAgICAgIG9sZFZhbHVlID0gbmV3IERhdGUob2xkVmFsdWUpO1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHJldHVybiBtZXNzYWdlO1xuICAgIH1cblxuICAgIHJldHVybiB2YWx1ZSA8PSBvbGRWYWx1ZSA/IG1lc3NhZ2UgOiB1bmRlZmluZWQ7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1 +1,20 @@
|
|
|
1
|
-
import{DEFAULT_ERROR_MESSAGES as DecoratorMessages,Validator}from"@decaf-ts/decorator-validation";
|
|
1
|
+
import { DEFAULT_ERROR_MESSAGES as DecoratorMessages, Validator, } from "@decaf-ts/decorator-validation";
|
|
2
|
+
/**
|
|
3
|
+
* @summary Base class for an Update validator
|
|
4
|
+
*
|
|
5
|
+
* @param {string} [message] error message. defaults to {@link DecoratorMessages#DEFAULT}
|
|
6
|
+
* @param {string[]} [acceptedTypes] the accepted value types by the decorator
|
|
7
|
+
*
|
|
8
|
+
* @class UpdateValidator
|
|
9
|
+
* @abstract
|
|
10
|
+
* @extends Validator
|
|
11
|
+
*
|
|
12
|
+
* @category Validators
|
|
13
|
+
*/
|
|
14
|
+
export class UpdateValidator extends Validator {
|
|
15
|
+
constructor(message = DecoratorMessages.DEFAULT, ...acceptedTypes) {
|
|
16
|
+
super(message, ...acceptedTypes);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy92YWxpZGF0aW9uL3ZhbGlkYXRvcnMvVXBkYXRlVmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxzQkFBc0IsSUFBSSxpQkFBaUIsRUFDM0MsU0FBUyxHQUNWLE1BQU0sZ0NBQWdDLENBQUM7QUFFeEM7Ozs7Ozs7Ozs7O0dBV0c7QUFDSCxNQUFNLE9BQWdCLGVBQWdCLFNBQVEsU0FBUztJQUNyRCxZQUNFLFVBQWtCLGlCQUFpQixDQUFDLE9BQU8sRUFDM0MsR0FBRyxhQUF1QjtRQUUxQixLQUFLLENBQUMsT0FBTyxFQUFFLEdBQUcsYUFBYSxDQUFDLENBQUM7SUFDbkMsQ0FBQztDQWFGIiwiZmlsZSI6InZhbGlkYXRpb24vdmFsaWRhdG9ycy9VcGRhdGVWYWxpZGF0b3IuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBERUZBVUxUX0VSUk9SX01FU1NBR0VTIGFzIERlY29yYXRvck1lc3NhZ2VzLFxuICBWYWxpZGF0b3IsXG59IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdG9yLXZhbGlkYXRpb25cIjtcblxuLyoqXG4gKiBAc3VtbWFyeSBCYXNlIGNsYXNzIGZvciBhbiBVcGRhdGUgdmFsaWRhdG9yXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IFttZXNzYWdlXSBlcnJvciBtZXNzYWdlLiBkZWZhdWx0cyB0byB7QGxpbmsgRGVjb3JhdG9yTWVzc2FnZXMjREVGQVVMVH1cbiAqIEBwYXJhbSB7c3RyaW5nW119IFthY2NlcHRlZFR5cGVzXSB0aGUgYWNjZXB0ZWQgdmFsdWUgdHlwZXMgYnkgdGhlIGRlY29yYXRvclxuICpcbiAqIEBjbGFzcyBVcGRhdGVWYWxpZGF0b3JcbiAqIEBhYnN0cmFjdFxuICogQGV4dGVuZHMgVmFsaWRhdG9yXG4gKlxuICogQGNhdGVnb3J5IFZhbGlkYXRvcnNcbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFVwZGF0ZVZhbGlkYXRvciBleHRlbmRzIFZhbGlkYXRvciB7XG4gIHByb3RlY3RlZCBjb25zdHJ1Y3RvcihcbiAgICBtZXNzYWdlOiBzdHJpbmcgPSBEZWNvcmF0b3JNZXNzYWdlcy5ERUZBVUxULFxuICAgIC4uLmFjY2VwdGVkVHlwZXM6IHN0cmluZ1tdXG4gICkge1xuICAgIHN1cGVyKG1lc3NhZ2UsIC4uLmFjY2VwdGVkVHlwZXMpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBzdW1tYXJ5IHZhbGlkYXRlcyBhIHZhbHVlIGJ5IGNvbXBhcmluZyB0byBpdHMgb2xkIHZlcnNpb25cbiAgICogQHBhcmFtIHthbnl9IHZhbHVlXG4gICAqIEBwYXJhbSB7YW55fSBvbGRWYWx1ZVxuICAgKiBAcGFyYW0ge2FueVtdfSBhcmdzXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgdXBkYXRlSGFzRXJyb3JzKFxuICAgIHZhbHVlOiBhbnksXG4gICAgb2xkVmFsdWU6IGFueSxcbiAgICAuLi5hcmdzOiBhbnlbXVxuICApOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG59XG4iXX0=
|
|
@@ -1 +1,5 @@
|
|
|
1
|
-
export*from"./ReadOnlyValidator";
|
|
1
|
+
export * from "./ReadOnlyValidator";
|
|
2
|
+
export * from "./TimestampValidator";
|
|
3
|
+
export * from "./UpdateValidator";
|
|
4
|
+
|
|
5
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy92YWxpZGF0aW9uL3ZhbGlkYXRvcnMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsbUJBQW1CLENBQUMiLCJmaWxlIjoidmFsaWRhdGlvbi92YWxpZGF0b3JzL2luZGV4LmpzIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vUmVhZE9ubHlWYWxpZGF0b3JcIjtcbmV4cG9ydCAqIGZyb20gXCIuL1RpbWVzdGFtcFZhbGlkYXRvclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vVXBkYXRlVmFsaWRhdG9yXCI7XG4iXX0=
|
|
@@ -1 +1,13 @@
|
|
|
1
|
-
"use strict";
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.id = id;
|
|
4
|
+
const decorator_validation_1 = require("@decaf-ts/decorator-validation");
|
|
5
|
+
const reflection_1 = require("@decaf-ts/reflection");
|
|
6
|
+
const decorators_1 = require("../validation/decorators.cjs");
|
|
7
|
+
const constants_1 = require("../model/constants.cjs");
|
|
8
|
+
const repository_1 = require("../repository/index.cjs");
|
|
9
|
+
function id() {
|
|
10
|
+
return (0, reflection_1.apply)((0, decorator_validation_1.required)(), (0, decorators_1.readonly)(), (0, decorator_validation_1.propMetadata)(repository_1.Repository.key(constants_1.DBKeys.ID), {}));
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9pZGVudGl0eS9kZWNvcmF0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBTUEsZ0JBTUM7QUFaRCx5RUFBd0U7QUFDeEUscURBQTZDO0FBQzdDLHlEQUFvRDtBQUNwRCxrREFBNEM7QUFDNUMsOENBQTJDO0FBRTNDLFNBQWdCLEVBQUU7SUFDaEIsT0FBTyxJQUFBLGtCQUFLLEVBQ1YsSUFBQSwrQkFBUSxHQUFFLEVBQ1YsSUFBQSxxQkFBUSxHQUFFLEVBQ1YsSUFBQSxtQ0FBWSxFQUFDLHVCQUFVLENBQUMsR0FBRyxDQUFDLGtCQUFNLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQzVDLENBQUM7QUFDSixDQUFDIiwiZmlsZSI6ImlkZW50aXR5L2RlY29yYXRvcnMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBwcm9wTWV0YWRhdGEsIHJlcXVpcmVkIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0b3ItdmFsaWRhdGlvblwiO1xuaW1wb3J0IHsgYXBwbHkgfSBmcm9tIFwiQGRlY2FmLXRzL3JlZmxlY3Rpb25cIjtcbmltcG9ydCB7IHJlYWRvbmx5IH0gZnJvbSBcIi4uL3ZhbGlkYXRpb24vZGVjb3JhdG9yc1wiO1xuaW1wb3J0IHsgREJLZXlzIH0gZnJvbSBcIi4uL21vZGVsL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgUmVwb3NpdG9yeSB9IGZyb20gXCIuLi9yZXBvc2l0b3J5XCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBpZCgpIHtcbiAgcmV0dXJuIGFwcGx5KFxuICAgIHJlcXVpcmVkKCksXG4gICAgcmVhZG9ubHkoKSxcbiAgICBwcm9wTWV0YWRhdGEoUmVwb3NpdG9yeS5rZXkoREJLZXlzLklEKSwge30pXG4gICk7XG59XG4iXX0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare function id():
|
|
1
|
+
export declare function id(): (target: object, propertyKey?: any, descriptor?: any) => void;
|
package/lib/identity/index.cjs
CHANGED
|
@@ -1 +1,20 @@
|
|
|
1
|
-
"use strict";
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./decorators.cjs"), exports);
|
|
18
|
+
__exportStar(require("./utils.cjs"), exports);
|
|
19
|
+
|
|
20
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9pZGVudGl0eS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsK0NBQTZCO0FBQzdCLDBDQUF3QiIsImZpbGUiOiJpZGVudGl0eS9pbmRleC5qcyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL2RlY29yYXRvcnNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3V0aWxzXCI7XG4iXX0=
|
package/lib/identity/utils.cjs
CHANGED
|
@@ -1 +1,67 @@
|
|
|
1
|
-
"use strict";
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.findPrimaryKey = findPrimaryKey;
|
|
4
|
+
exports.findModelId = findModelId;
|
|
5
|
+
const constants_1 = require("../model/constants.cjs");
|
|
6
|
+
const utils_1 = require("../repository/utils.cjs");
|
|
7
|
+
const decorator_validation_1 = require("@decaf-ts/decorator-validation");
|
|
8
|
+
const errors_1 = require("../repository/errors.cjs");
|
|
9
|
+
/**
|
|
10
|
+
* @summary Returns the primary key attribute for a {@link Model}
|
|
11
|
+
* @description searches in all the properties in the object for an {@link id} decorated property
|
|
12
|
+
*
|
|
13
|
+
* @param {Model} model
|
|
14
|
+
*
|
|
15
|
+
* @throws {InternalError} if no property or more than one properties are {@link id} decorated
|
|
16
|
+
* or no value is set in that property
|
|
17
|
+
*
|
|
18
|
+
* @function findPrimaryKey
|
|
19
|
+
*
|
|
20
|
+
* @category managers
|
|
21
|
+
*/
|
|
22
|
+
function findPrimaryKey(model) {
|
|
23
|
+
const decorators = (0, utils_1.getAllPropertyDecoratorsRecursive)(model, undefined, constants_1.DBKeys.REFLECT + constants_1.DBKeys.ID);
|
|
24
|
+
const idDecorators = Object.entries(decorators).reduce((accum, [prop, decs]) => {
|
|
25
|
+
const filtered = decs.filter((d) => d.key !== decorator_validation_1.ModelKeys.TYPE);
|
|
26
|
+
if (filtered && filtered.length) {
|
|
27
|
+
accum[prop] = accum[prop] || [];
|
|
28
|
+
accum[prop].push(...filtered);
|
|
29
|
+
}
|
|
30
|
+
return accum;
|
|
31
|
+
}, {});
|
|
32
|
+
if (!idDecorators || !Object.keys(idDecorators).length)
|
|
33
|
+
throw new errors_1.InternalError("Could not find ID decorated Property");
|
|
34
|
+
if (Object.keys(idDecorators).length > 1)
|
|
35
|
+
throw new errors_1.InternalError((0, decorator_validation_1.sf)(Object.keys(idDecorators).join(", ")));
|
|
36
|
+
const idProp = Object.keys(idDecorators)[0];
|
|
37
|
+
if (!idProp)
|
|
38
|
+
throw new errors_1.InternalError("Could not find ID decorated Property");
|
|
39
|
+
return {
|
|
40
|
+
id: idProp,
|
|
41
|
+
props: idDecorators[idProp][0].props.options,
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* @summary Returns the primary key value for a {@link Model}
|
|
46
|
+
* @description searches in all the properties in the object for an {@link pk} decorated property
|
|
47
|
+
*
|
|
48
|
+
* @param {Model} model
|
|
49
|
+
* @param {boolean} [returnEmpty]
|
|
50
|
+
* @return {string} primary key
|
|
51
|
+
*
|
|
52
|
+
* @throws {InternalError} if no property or more than one properties are {@link pk} decorated
|
|
53
|
+
* @throws {NotFoundError} returnEmpty is false and no value is set on the {@link pk} decorated property
|
|
54
|
+
*
|
|
55
|
+
* @function findModelID
|
|
56
|
+
*
|
|
57
|
+
* @category managers
|
|
58
|
+
*/
|
|
59
|
+
function findModelId(model, returnEmpty = false) {
|
|
60
|
+
const idProp = findPrimaryKey(model).id;
|
|
61
|
+
const modelId = model[idProp];
|
|
62
|
+
if (!modelId && !returnEmpty)
|
|
63
|
+
throw new errors_1.NotFoundError((0, decorator_validation_1.sf)("No value for the Id is defined under the property {0}", idProp));
|
|
64
|
+
return modelId;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9pZGVudGl0eS91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQWtCQSx3Q0E4QkM7QUFpQkQsa0NBUUM7QUF6RUQsa0RBQTRDO0FBQzVDLCtDQUF3RTtBQUN4RSx5RUFBK0Q7QUFDL0QsaURBQW9FO0FBRXBFOzs7Ozs7Ozs7Ozs7R0FZRztBQUNILFNBQWdCLGNBQWMsQ0FBa0IsS0FBUTtJQUN0RCxNQUFNLFVBQVUsR0FBRyxJQUFBLHlDQUFpQyxFQUNsRCxLQUFLLEVBQ0wsU0FBUyxFQUNULGtCQUFNLENBQUMsT0FBTyxHQUFHLGtCQUFNLENBQUMsRUFBRSxDQUMzQixDQUFDO0lBQ0YsTUFBTSxZQUFZLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxVQUFvQixDQUFDLENBQUMsTUFBTSxDQUM5RCxDQUFDLEtBQW1DLEVBQUUsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRTtRQUNwRCxNQUFNLFFBQVEsR0FBSSxJQUEwQixDQUFDLE1BQU0sQ0FDakQsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssZ0NBQVMsQ0FBQyxJQUFJLENBQ2hDLENBQUM7UUFDRixJQUFJLFFBQVEsSUFBSSxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDaEMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDaEMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLFFBQVEsQ0FBQyxDQUFDO1FBQ2hDLENBQUM7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUMsRUFDRCxFQUFFLENBQ0gsQ0FBQztJQUVGLElBQUksQ0FBQyxZQUFZLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLE1BQU07UUFDcEQsTUFBTSxJQUFJLHNCQUFhLENBQUMsc0NBQXNDLENBQUMsQ0FBQztJQUNsRSxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUM7UUFDdEMsTUFBTSxJQUFJLHNCQUFhLENBQUMsSUFBQSx5QkFBRSxFQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNwRSxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzVDLElBQUksQ0FBQyxNQUFNO1FBQUUsTUFBTSxJQUFJLHNCQUFhLENBQUMsc0NBQXNDLENBQUMsQ0FBQztJQUM3RSxPQUFPO1FBQ0wsRUFBRSxFQUFFLE1BQU07UUFDVixLQUFLLEVBQUUsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPO0tBQzdDLENBQUM7QUFDSixDQUFDO0FBRUQ7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFDSCxTQUFnQixXQUFXLENBQUMsS0FBWSxFQUFFLFdBQVcsR0FBRyxLQUFLO0lBQzNELE1BQU0sTUFBTSxHQUFHLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDeEMsTUFBTSxPQUFPLEdBQUksS0FBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3ZDLElBQUksQ0FBQyxPQUFPLElBQUksQ0FBQyxXQUFXO1FBQzFCLE1BQU0sSUFBSSxzQkFBYSxDQUNyQixJQUFBLHlCQUFFLEVBQUMsdURBQXVELEVBQUUsTUFBTSxDQUFDLENBQ3BFLENBQUM7SUFDSixPQUFPLE9BQU8sQ0FBQztBQUNqQixDQUFDIiwiZmlsZSI6ImlkZW50aXR5L3V0aWxzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgREJLZXlzIH0gZnJvbSBcIi4uL21vZGVsL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgZ2V0QWxsUHJvcGVydHlEZWNvcmF0b3JzUmVjdXJzaXZlIH0gZnJvbSBcIi4uL3JlcG9zaXRvcnkvdXRpbHNcIjtcbmltcG9ydCB7IE1vZGVsS2V5cywgc2YgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRvci12YWxpZGF0aW9uXCI7XG5pbXBvcnQgeyBJbnRlcm5hbEVycm9yLCBOb3RGb3VuZEVycm9yIH0gZnJvbSBcIi4uL3JlcG9zaXRvcnkvZXJyb3JzXCI7XG5cbi8qKlxuICogQHN1bW1hcnkgUmV0dXJucyB0aGUgcHJpbWFyeSBrZXkgYXR0cmlidXRlIGZvciBhIHtAbGluayBNb2RlbH1cbiAqIEBkZXNjcmlwdGlvbiBzZWFyY2hlcyBpbiBhbGwgdGhlIHByb3BlcnRpZXMgaW4gdGhlIG9iamVjdCBmb3IgYW4ge0BsaW5rIGlkfSBkZWNvcmF0ZWQgcHJvcGVydHlcbiAqXG4gKiBAcGFyYW0ge01vZGVsfSBtb2RlbFxuICpcbiAqIEB0aHJvd3Mge0ludGVybmFsRXJyb3J9IGlmIG5vIHByb3BlcnR5IG9yIG1vcmUgdGhhbiBvbmUgcHJvcGVydGllcyBhcmUge0BsaW5rIGlkfSBkZWNvcmF0ZWRcbiAqIG9yIG5vIHZhbHVlIGlzIHNldCBpbiB0aGF0IHByb3BlcnR5XG4gKlxuICogQGZ1bmN0aW9uIGZpbmRQcmltYXJ5S2V5XG4gKlxuICogQGNhdGVnb3J5IG1hbmFnZXJzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmaW5kUHJpbWFyeUtleTxUIGV4dGVuZHMgTW9kZWw+KG1vZGVsOiBUKSB7XG4gIGNvbnN0IGRlY29yYXRvcnMgPSBnZXRBbGxQcm9wZXJ0eURlY29yYXRvcnNSZWN1cnNpdmUoXG4gICAgbW9kZWwsXG4gICAgdW5kZWZpbmVkLFxuICAgIERCS2V5cy5SRUZMRUNUICsgREJLZXlzLklEXG4gICk7XG4gIGNvbnN0IGlkRGVjb3JhdG9ycyA9IE9iamVjdC5lbnRyaWVzKGRlY29yYXRvcnMgYXMgb2JqZWN0KS5yZWR1Y2UoXG4gICAgKGFjY3VtOiB7IFtpbmRleGVyOiBzdHJpbmddOiBhbnlbXSB9LCBbcHJvcCwgZGVjc10pID0+IHtcbiAgICAgIGNvbnN0IGZpbHRlcmVkID0gKGRlY3MgYXMgeyBrZXk6IHN0cmluZyB9W10pLmZpbHRlcihcbiAgICAgICAgKGQpID0+IGQua2V5ICE9PSBNb2RlbEtleXMuVFlQRVxuICAgICAgKTtcbiAgICAgIGlmIChmaWx0ZXJlZCAmJiBmaWx0ZXJlZC5sZW5ndGgpIHtcbiAgICAgICAgYWNjdW1bcHJvcF0gPSBhY2N1bVtwcm9wXSB8fCBbXTtcbiAgICAgICAgYWNjdW1bcHJvcF0ucHVzaCguLi5maWx0ZXJlZCk7XG4gICAgICB9XG4gICAgICByZXR1cm4gYWNjdW07XG4gICAgfSxcbiAgICB7fVxuICApO1xuXG4gIGlmICghaWREZWNvcmF0b3JzIHx8ICFPYmplY3Qua2V5cyhpZERlY29yYXRvcnMpLmxlbmd0aClcbiAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihcIkNvdWxkIG5vdCBmaW5kIElEIGRlY29yYXRlZCBQcm9wZXJ0eVwiKTtcbiAgaWYgKE9iamVjdC5rZXlzKGlkRGVjb3JhdG9ycykubGVuZ3RoID4gMSlcbiAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihzZihPYmplY3Qua2V5cyhpZERlY29yYXRvcnMpLmpvaW4oXCIsIFwiKSkpO1xuICBjb25zdCBpZFByb3AgPSBPYmplY3Qua2V5cyhpZERlY29yYXRvcnMpWzBdO1xuICBpZiAoIWlkUHJvcCkgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoXCJDb3VsZCBub3QgZmluZCBJRCBkZWNvcmF0ZWQgUHJvcGVydHlcIik7XG4gIHJldHVybiB7XG4gICAgaWQ6IGlkUHJvcCxcbiAgICBwcm9wczogaWREZWNvcmF0b3JzW2lkUHJvcF1bMF0ucHJvcHMub3B0aW9ucyxcbiAgfTtcbn1cblxuLyoqXG4gKiBAc3VtbWFyeSBSZXR1cm5zIHRoZSBwcmltYXJ5IGtleSB2YWx1ZSBmb3IgYSB7QGxpbmsgTW9kZWx9XG4gKiBAZGVzY3JpcHRpb24gc2VhcmNoZXMgaW4gYWxsIHRoZSBwcm9wZXJ0aWVzIGluIHRoZSBvYmplY3QgZm9yIGFuIHtAbGluayBwa30gZGVjb3JhdGVkIHByb3BlcnR5XG4gKlxuICogQHBhcmFtIHtNb2RlbH0gbW9kZWxcbiAqIEBwYXJhbSB7Ym9vbGVhbn0gW3JldHVybkVtcHR5XVxuICogQHJldHVybiB7c3RyaW5nfSBwcmltYXJ5IGtleVxuICpcbiAqIEB0aHJvd3Mge0ludGVybmFsRXJyb3J9IGlmIG5vIHByb3BlcnR5IG9yIG1vcmUgdGhhbiBvbmUgcHJvcGVydGllcyBhcmUge0BsaW5rIHBrfSBkZWNvcmF0ZWRcbiAqIEB0aHJvd3Mge05vdEZvdW5kRXJyb3J9IHJldHVybkVtcHR5IGlzIGZhbHNlIGFuZCBubyB2YWx1ZSBpcyBzZXQgb24gdGhlIHtAbGluayBwa30gZGVjb3JhdGVkIHByb3BlcnR5XG4gKlxuICogQGZ1bmN0aW9uIGZpbmRNb2RlbElEXG4gKlxuICogQGNhdGVnb3J5IG1hbmFnZXJzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmaW5kTW9kZWxJZChtb2RlbDogTW9kZWwsIHJldHVybkVtcHR5ID0gZmFsc2UpIHtcbiAgY29uc3QgaWRQcm9wID0gZmluZFByaW1hcnlLZXkobW9kZWwpLmlkO1xuICBjb25zdCBtb2RlbElkID0gKG1vZGVsIGFzIGFueSlbaWRQcm9wXTtcbiAgaWYgKCFtb2RlbElkICYmICFyZXR1cm5FbXB0eSlcbiAgICB0aHJvdyBuZXcgTm90Rm91bmRFcnJvcihcbiAgICAgIHNmKFwiTm8gdmFsdWUgZm9yIHRoZSBJZCBpcyBkZWZpbmVkIHVuZGVyIHRoZSBwcm9wZXJ0eSB7MH1cIiwgaWRQcm9wKVxuICAgICk7XG4gIHJldHVybiBtb2RlbElkO1xufVxuIl19
|
package/lib/identity/utils.d.ts
CHANGED
|
@@ -1,10 +1,8 @@
|
|
|
1
|
-
import { DBModel } from "../model/DBModel";
|
|
2
|
-
import { IRepository } from "../interfaces/IRepository";
|
|
3
1
|
/**
|
|
4
|
-
* @summary Returns the primary key attribute for a {@link
|
|
2
|
+
* @summary Returns the primary key attribute for a {@link Model}
|
|
5
3
|
* @description searches in all the properties in the object for an {@link id} decorated property
|
|
6
4
|
*
|
|
7
|
-
* @param {
|
|
5
|
+
* @param {Model} model
|
|
8
6
|
*
|
|
9
7
|
* @throws {InternalError} if no property or more than one properties are {@link id} decorated
|
|
10
8
|
* or no value is set in that property
|
|
@@ -13,15 +11,15 @@ import { IRepository } from "../interfaces/IRepository";
|
|
|
13
11
|
*
|
|
14
12
|
* @category managers
|
|
15
13
|
*/
|
|
16
|
-
export declare function findPrimaryKey<T extends
|
|
14
|
+
export declare function findPrimaryKey<T extends Model>(model: T): {
|
|
17
15
|
id: string;
|
|
18
16
|
props: any;
|
|
19
17
|
};
|
|
20
18
|
/**
|
|
21
|
-
* @summary Returns the primary key value for a {@link
|
|
19
|
+
* @summary Returns the primary key value for a {@link Model}
|
|
22
20
|
* @description searches in all the properties in the object for an {@link pk} decorated property
|
|
23
21
|
*
|
|
24
|
-
* @param {
|
|
22
|
+
* @param {Model} model
|
|
25
23
|
* @param {boolean} [returnEmpty]
|
|
26
24
|
* @return {string} primary key
|
|
27
25
|
*
|
|
@@ -32,5 +30,4 @@ export declare function findPrimaryKey<T extends DBModel>(model: T): {
|
|
|
32
30
|
*
|
|
33
31
|
* @category managers
|
|
34
32
|
*/
|
|
35
|
-
export declare function findModelId(model:
|
|
36
|
-
export declare function createOrUpdate<T extends DBModel>(model: T, manager?: IRepository<T> | undefined, pk?: string): Promise<T>;
|
|
33
|
+
export declare function findModelId(model: Model, returnEmpty?: boolean): any;
|
package/lib/index.cjs
CHANGED
|
@@ -1 +1,51 @@
|
|
|
1
|
-
"use strict";
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @module db-decorators
|
|
4
|
+
*/
|
|
5
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
8
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
9
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
10
|
+
}
|
|
11
|
+
Object.defineProperty(o, k2, desc);
|
|
12
|
+
}) : (function(o, m, k, k2) {
|
|
13
|
+
if (k2 === undefined) k2 = k;
|
|
14
|
+
o[k2] = m[k];
|
|
15
|
+
}));
|
|
16
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
17
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
18
|
+
};
|
|
19
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
|
+
/**
|
|
21
|
+
* @namespace Model
|
|
22
|
+
* @memberOf module:db-decorators
|
|
23
|
+
*/
|
|
24
|
+
/**
|
|
25
|
+
* @namespace Operations
|
|
26
|
+
* @memberOf module:db-decorators
|
|
27
|
+
*/
|
|
28
|
+
/**
|
|
29
|
+
* @namespace Repository
|
|
30
|
+
* @memberOf module:db-decorators
|
|
31
|
+
*/
|
|
32
|
+
/**
|
|
33
|
+
* @namespace Validation
|
|
34
|
+
* @memberOf module:db-decorators
|
|
35
|
+
*/
|
|
36
|
+
/**
|
|
37
|
+
* @namespace Validators
|
|
38
|
+
* @memberOf module:db-decorators.Validation
|
|
39
|
+
*/
|
|
40
|
+
/**
|
|
41
|
+
* @namespace Utils
|
|
42
|
+
* @memberOf module:db-decorators
|
|
43
|
+
*/
|
|
44
|
+
__exportStar(require("./identity/index.cjs"), exports);
|
|
45
|
+
__exportStar(require("./interfaces/index.cjs"), exports);
|
|
46
|
+
__exportStar(require("./model/index.cjs"), exports);
|
|
47
|
+
__exportStar(require("./operations/index.cjs"), exports);
|
|
48
|
+
__exportStar(require("./repository/index.cjs"), exports);
|
|
49
|
+
__exportStar(require("./validation/index.cjs"), exports);
|
|
50
|
+
|
|
51
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7O0dBRUc7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFSDs7O0dBR0c7QUFFSDs7O0dBR0c7QUFFSDs7O0dBR0c7QUFFSDs7O0dBR0c7QUFFSDs7O0dBR0c7QUFFSDs7O0dBR0c7QUFDSCw2Q0FBMkI7QUFDM0IsK0NBQTZCO0FBQzdCLDBDQUF3QjtBQUN4QiwrQ0FBNkI7QUFDN0IsK0NBQTZCO0FBQzdCLCtDQUE2QiIsImZpbGUiOiJpbmRleC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQG1vZHVsZSBkYi1kZWNvcmF0b3JzXG4gKi9cblxuLyoqXG4gKiBAbmFtZXNwYWNlIE1vZGVsXG4gKiBAbWVtYmVyT2YgbW9kdWxlOmRiLWRlY29yYXRvcnNcbiAqL1xuXG4vKipcbiAqIEBuYW1lc3BhY2UgT3BlcmF0aW9uc1xuICogQG1lbWJlck9mIG1vZHVsZTpkYi1kZWNvcmF0b3JzXG4gKi9cblxuLyoqXG4gKiBAbmFtZXNwYWNlIFJlcG9zaXRvcnlcbiAqIEBtZW1iZXJPZiBtb2R1bGU6ZGItZGVjb3JhdG9yc1xuICovXG5cbi8qKlxuICogQG5hbWVzcGFjZSBWYWxpZGF0aW9uXG4gKiBAbWVtYmVyT2YgbW9kdWxlOmRiLWRlY29yYXRvcnNcbiAqL1xuXG4vKipcbiAqIEBuYW1lc3BhY2UgVmFsaWRhdG9yc1xuICogQG1lbWJlck9mIG1vZHVsZTpkYi1kZWNvcmF0b3JzLlZhbGlkYXRpb25cbiAqL1xuXG4vKipcbiAqIEBuYW1lc3BhY2UgVXRpbHNcbiAqIEBtZW1iZXJPZiBtb2R1bGU6ZGItZGVjb3JhdG9yc1xuICovXG5leHBvcnQgKiBmcm9tIFwiLi9pZGVudGl0eVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vaW50ZXJmYWNlc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vbW9kZWxcIjtcbmV4cG9ydCAqIGZyb20gXCIuL29wZXJhdGlvbnNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3JlcG9zaXRvcnlcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3ZhbGlkYXRpb25cIjtcbiJdfQ==
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
|
|
4
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9pbnRlcmZhY2VzL0J1bGtDcnVkT3BlcmF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJpbnRlcmZhY2VzL0J1bGtDcnVkT3BlcmF0b3IuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDcnVkT3BlcmF0b3IgfSBmcm9tIFwiLi9DcnVkT3BlcmF0b3JcIjtcblxuZXhwb3J0IGludGVyZmFjZSBCdWxrQ3J1ZE9wZXJhdG9yPE0+IGV4dGVuZHMgQ3J1ZE9wZXJhdG9yPE0+IHtcbiAgY3JlYXRlQWxsKG1vZGVsczogTVtdLCAuLi5hcmdzOiBhbnlbXSk6IFByb21pc2U8TVtdPjtcbiAgcmVhZEFsbChrZXlzOiBzdHJpbmdbXSB8IG51bWJlcltdLCAuLi5hcmdzOiBhbnlbXSk6IFByb21pc2U8TVtdPjtcbiAgdXBkYXRlQWxsKG1vZGVsczogTVtdLCAuLi5hcmdzOiBhbnlbXSk6IFByb21pc2U8TVtdPjtcbiAgZGVsZXRlQWxsKGtleXM6IHN0cmluZ1tdIHwgbnVtYmVyW10sIC4uLmFyZ3M6IGFueVtdKTogUHJvbWlzZTxNW10+O1xufVxuIl19
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { CrudOperator } from "./CrudOperator";
|
|
2
|
+
export interface BulkCrudOperator<M> extends CrudOperator<M> {
|
|
3
|
+
createAll(models: M[], ...args: any[]): Promise<M[]>;
|
|
4
|
+
readAll(keys: string[] | number[], ...args: any[]): Promise<M[]>;
|
|
5
|
+
updateAll(models: M[], ...args: any[]): Promise<M[]>;
|
|
6
|
+
deleteAll(keys: string[] | number[], ...args: any[]): Promise<M[]>;
|
|
7
|
+
}
|
|
@@ -1 +1,4 @@
|
|
|
1
|
-
"use strict";
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
|
|
4
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9pbnRlcmZhY2VzL0NydWRPcGVyYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwiZmlsZSI6ImludGVyZmFjZXMvQ3J1ZE9wZXJhdG9yLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAc3VtbWFyeSBDcnVkIEFQSVxuICogQGRlc2NyaXB0aW9uIEV4cG9zZXMgYSBDUlVEIEFQSVxuICpcbiAqIEBpbnRlcmZhY2UgQ3J1ZE9wZXJhdG9yXG4gKlxuICogQGNhdGVnb3J5IE1hbmFnZXJzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ3J1ZE9wZXJhdG9yPE0+IHtcbiAgLyoqXG4gICAqIEBzdW1tYXJ5IENyZWF0ZSBhIG5ldyBtb2RlbFxuICAgKiBAcGFyYW0ge1R9IG1vZGVsXG4gICAqIEBwYXJhbSB7YW55W119IFthcmdzXVxuICAgKlxuICAgKiBAbWV0aG9kXG4gICAqL1xuICBjcmVhdGUobW9kZWw6IE0sIC4uLmFyZ3M6IGFueVtdKTogUHJvbWlzZTxNPjtcbiAgLyoqXG4gICAqIEBzdW1tYXJ5IFJlYWQgYSBtb2RlbFxuICAgKiBAcGFyYW0ge3N0cmluZ30ga2V5XG4gICAqIEBwYXJhbSB7YW55W119IFthcmdzXVxuICAgKlxuICAgKiBAbWV0aG9kXG4gICAqL1xuICByZWFkKGtleTogc3RyaW5nIHwgbnVtYmVyLCAuLi5hcmdzOiBhbnlbXSk6IFByb21pc2U8TT47XG4gIC8qKlxuICAgKiBAc3VtbWFyeSB1cGRhdGUgYSBtb2RlbFxuICAgKiBAcGFyYW0ge1R9IG1vZGVsXG4gICAqIEBwYXJhbSB7YW55W119IFthcmdzXVxuICAgKlxuICAgKiBAbWV0aG9kXG4gICAqL1xuICB1cGRhdGUobW9kZWw6IE0sIC4uLmFyZ3M6IGFueVtdKTogUHJvbWlzZTxNPjtcbiAgLyoqXG4gICAqIEBzdW1tYXJ5IGRlbGV0ZSBhIG1vZGVsXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBrZXlcbiAgICogQHBhcmFtIHthbnlbXX0gW2FyZ3NdXG4gICAqXG4gICAqIEBtZXRob2RcbiAgICovXG4gIGRlbGV0ZShrZXk6IHN0cmluZyB8IG51bWJlciwgLi4uYXJnczogYW55W10pOiBQcm9taXNlPE0+O1xufVxuIl19
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
*
|
|
7
7
|
* @category Managers
|
|
8
8
|
*/
|
|
9
|
-
export interface CrudOperator<
|
|
9
|
+
export interface CrudOperator<M> {
|
|
10
10
|
/**
|
|
11
11
|
* @summary Create a new model
|
|
12
12
|
* @param {T} model
|
|
@@ -14,7 +14,7 @@ export interface CrudOperator<T> {
|
|
|
14
14
|
*
|
|
15
15
|
* @method
|
|
16
16
|
*/
|
|
17
|
-
create(model:
|
|
17
|
+
create(model: M, ...args: any[]): Promise<M>;
|
|
18
18
|
/**
|
|
19
19
|
* @summary Read a model
|
|
20
20
|
* @param {string} key
|
|
@@ -22,7 +22,7 @@ export interface CrudOperator<T> {
|
|
|
22
22
|
*
|
|
23
23
|
* @method
|
|
24
24
|
*/
|
|
25
|
-
read(key: string, ...args: any[]): Promise<
|
|
25
|
+
read(key: string | number, ...args: any[]): Promise<M>;
|
|
26
26
|
/**
|
|
27
27
|
* @summary update a model
|
|
28
28
|
* @param {T} model
|
|
@@ -30,7 +30,7 @@ export interface CrudOperator<T> {
|
|
|
30
30
|
*
|
|
31
31
|
* @method
|
|
32
32
|
*/
|
|
33
|
-
update(model:
|
|
33
|
+
update(model: M, ...args: any[]): Promise<M>;
|
|
34
34
|
/**
|
|
35
35
|
* @summary delete a model
|
|
36
36
|
* @param {string} key
|
|
@@ -38,5 +38,5 @@ export interface CrudOperator<T> {
|
|
|
38
38
|
*
|
|
39
39
|
* @method
|
|
40
40
|
*/
|
|
41
|
-
delete(key: string, ...args: any[]): Promise<
|
|
41
|
+
delete(key: string | number, ...args: any[]): Promise<M>;
|
|
42
42
|
}
|
|
@@ -1 +1,4 @@
|
|
|
1
|
-
"use strict";
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
|
|
4
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9pbnRlcmZhY2VzL0lSZXBvc2l0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJmaWxlIjoiaW50ZXJmYWNlcy9JUmVwb3NpdG9yeS5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERhdGFDYWNoZSB9IGZyb20gXCIuLi9yZXBvc2l0b3J5L0RhdGFDYWNoZVwiO1xuaW1wb3J0IHsgQ29uc3RydWN0b3IgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRvci12YWxpZGF0aW9uXCI7XG5pbXBvcnQgeyBCdWxrQ3J1ZE9wZXJhdG9yIH0gZnJvbSBcIi4vQnVsa0NydWRPcGVyYXRvclwiO1xuXG4vKipcbiAqIEBzdW1tYXJ5IEludGVyZmFjZSBob2xkaW5nIGJhc2ljIENSVUQgQVBJc1xuICogQHR5cGVkZWYgVCBleHRlbmRzIHtAbGluayBNb2RlbH1cbiAqIEBpbnRlcmZhY2UgSVJlcG9zaXRvcnlcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJUmVwb3NpdG9yeTxNIGV4dGVuZHMgTW9kZWw+IGV4dGVuZHMgQnVsa0NydWRPcGVyYXRvcjxNPiB7XG4gIHJlYWRvbmx5IGNhY2hlOiBEYXRhQ2FjaGU7XG4gIHJlYWRvbmx5IGNsYXNzOiBDb25zdHJ1Y3RvcjxNPjtcbn1cbiJdfQ==
|
|
@@ -1,13 +1,12 @@
|
|
|
1
|
-
import { DBModel } from "../model/DBModel";
|
|
2
1
|
import { DataCache } from "../repository/DataCache";
|
|
3
2
|
import { Constructor } from "@decaf-ts/decorator-validation";
|
|
4
|
-
import {
|
|
3
|
+
import { BulkCrudOperator } from "./BulkCrudOperator";
|
|
5
4
|
/**
|
|
6
5
|
* @summary Interface holding basic CRUD APIs
|
|
7
|
-
* @typedef T extends {@link
|
|
6
|
+
* @typedef T extends {@link Model}
|
|
8
7
|
* @interface IRepository
|
|
9
8
|
*/
|
|
10
|
-
export interface IRepository<
|
|
9
|
+
export interface IRepository<M extends Model> extends BulkCrudOperator<M> {
|
|
11
10
|
readonly cache: DataCache;
|
|
12
|
-
readonly class: Constructor<
|
|
11
|
+
readonly class: Constructor<M>;
|
|
13
12
|
}
|
package/lib/interfaces/index.cjs
CHANGED
|
@@ -1 +1,21 @@
|
|
|
1
|
-
"use strict";
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./BulkCrudOperator.cjs"), exports);
|
|
18
|
+
__exportStar(require("./CrudOperator.cjs"), exports);
|
|
19
|
+
__exportStar(require("./IRepository.cjs"), exports);
|
|
20
|
+
|
|
21
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9pbnRlcmZhY2VzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxxREFBbUM7QUFDbkMsaURBQStCO0FBQy9CLGdEQUE4QiIsImZpbGUiOiJpbnRlcmZhY2VzL2luZGV4LmpzIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vQnVsa0NydWRPcGVyYXRvclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vQ3J1ZE9wZXJhdG9yXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9JUmVwb3NpdG9yeVwiO1xuIl19
|
package/lib/model/constants.cjs
CHANGED
|
@@ -1 +1,42 @@
|
|
|
1
|
-
"use strict";
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DEFAULT_TIMESTAMP_FORMAT = exports.DefaultSeparator = exports.DBKeys = void 0;
|
|
4
|
+
const decorator_validation_1 = require("@decaf-ts/decorator-validation");
|
|
5
|
+
/**
|
|
6
|
+
* @summary Holds the Model reflection keys
|
|
7
|
+
* @const DBKeys
|
|
8
|
+
*
|
|
9
|
+
* @memberOf module:db-decorators.Model
|
|
10
|
+
*/
|
|
11
|
+
exports.DBKeys = {
|
|
12
|
+
REFLECT: `${decorator_validation_1.ModelKeys.REFLECT}persistence.`,
|
|
13
|
+
REPOSITORY: "repository",
|
|
14
|
+
CLASS: "_class",
|
|
15
|
+
ID: "id",
|
|
16
|
+
INDEX: "index",
|
|
17
|
+
UNIQUE: "unique",
|
|
18
|
+
SERIALIZE: "serialize",
|
|
19
|
+
READONLY: "readonly",
|
|
20
|
+
TIMESTAMP: "timestamp",
|
|
21
|
+
HASH: "hash",
|
|
22
|
+
COMPOSED: "composed",
|
|
23
|
+
ORIGINAL: "__originalObj",
|
|
24
|
+
};
|
|
25
|
+
/**
|
|
26
|
+
* @summary The default separator when concatenating indexes
|
|
27
|
+
*
|
|
28
|
+
* @const DefaultIndexSeparator
|
|
29
|
+
*
|
|
30
|
+
* @category Managers
|
|
31
|
+
* @subcategory Constants
|
|
32
|
+
*/
|
|
33
|
+
exports.DefaultSeparator = "_";
|
|
34
|
+
/**
|
|
35
|
+
* @summary Holds the default timestamp date format
|
|
36
|
+
* @constant DEFAULT_TIMESTAMP_FORMAT
|
|
37
|
+
*
|
|
38
|
+
* @memberOf module:db-decorators.Model
|
|
39
|
+
*/
|
|
40
|
+
exports.DEFAULT_TIMESTAMP_FORMAT = "dd/MM/yyyy HH:mm:ss:S";
|
|
41
|
+
|
|
42
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9tb2RlbC9jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEseUVBQTJEO0FBRTNEOzs7OztHQUtHO0FBQ1UsUUFBQSxNQUFNLEdBQUc7SUFDcEIsT0FBTyxFQUFFLEdBQUcsZ0NBQVMsQ0FBQyxPQUFPLGNBQWM7SUFDM0MsVUFBVSxFQUFFLFlBQVk7SUFDeEIsS0FBSyxFQUFFLFFBQVE7SUFDZixFQUFFLEVBQUUsSUFBSTtJQUNSLEtBQUssRUFBRSxPQUFPO0lBQ2QsTUFBTSxFQUFFLFFBQVE7SUFDaEIsU0FBUyxFQUFFLFdBQVc7SUFDdEIsUUFBUSxFQUFFLFVBQVU7SUFDcEIsU0FBUyxFQUFFLFdBQVc7SUFDdEIsSUFBSSxFQUFFLE1BQU07SUFDWixRQUFRLEVBQUUsVUFBVTtJQUNwQixRQUFRLEVBQUUsZUFBZTtDQUMxQixDQUFDO0FBRUY7Ozs7Ozs7R0FPRztBQUNVLFFBQUEsZ0JBQWdCLEdBQUcsR0FBRyxDQUFDO0FBRXBDOzs7OztHQUtHO0FBQ1UsUUFBQSx3QkFBd0IsR0FBRyx1QkFBdUIsQ0FBQyIsImZpbGUiOiJtb2RlbC9jb25zdGFudHMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNb2RlbEtleXMgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRvci12YWxpZGF0aW9uXCI7XG5cbi8qKlxuICogQHN1bW1hcnkgSG9sZHMgdGhlIE1vZGVsIHJlZmxlY3Rpb24ga2V5c1xuICogQGNvbnN0IERCS2V5c1xuICpcbiAqIEBtZW1iZXJPZiBtb2R1bGU6ZGItZGVjb3JhdG9ycy5Nb2RlbFxuICovXG5leHBvcnQgY29uc3QgREJLZXlzID0ge1xuICBSRUZMRUNUOiBgJHtNb2RlbEtleXMuUkVGTEVDVH1wZXJzaXN0ZW5jZS5gLFxuICBSRVBPU0lUT1JZOiBcInJlcG9zaXRvcnlcIixcbiAgQ0xBU1M6IFwiX2NsYXNzXCIsXG4gIElEOiBcImlkXCIsXG4gIElOREVYOiBcImluZGV4XCIsXG4gIFVOSVFVRTogXCJ1bmlxdWVcIixcbiAgU0VSSUFMSVpFOiBcInNlcmlhbGl6ZVwiLFxuICBSRUFET05MWTogXCJyZWFkb25seVwiLFxuICBUSU1FU1RBTVA6IFwidGltZXN0YW1wXCIsXG4gIEhBU0g6IFwiaGFzaFwiLFxuICBDT01QT1NFRDogXCJjb21wb3NlZFwiLFxuICBPUklHSU5BTDogXCJfX29yaWdpbmFsT2JqXCIsXG59O1xuXG4vKipcbiAqIEBzdW1tYXJ5IFRoZSBkZWZhdWx0IHNlcGFyYXRvciB3aGVuIGNvbmNhdGVuYXRpbmcgaW5kZXhlc1xuICpcbiAqIEBjb25zdCBEZWZhdWx0SW5kZXhTZXBhcmF0b3JcbiAqXG4gKiBAY2F0ZWdvcnkgTWFuYWdlcnNcbiAqIEBzdWJjYXRlZ29yeSBDb25zdGFudHNcbiAqL1xuZXhwb3J0IGNvbnN0IERlZmF1bHRTZXBhcmF0b3IgPSBcIl9cIjtcblxuLyoqXG4gKiBAc3VtbWFyeSBIb2xkcyB0aGUgZGVmYXVsdCB0aW1lc3RhbXAgZGF0ZSBmb3JtYXRcbiAqIEBjb25zdGFudCBERUZBVUxUX1RJTUVTVEFNUF9GT1JNQVRcbiAqXG4gKiBAbWVtYmVyT2YgbW9kdWxlOmRiLWRlY29yYXRvcnMuTW9kZWxcbiAqL1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfVElNRVNUQU1QX0ZPUk1BVCA9IFwiZGQvTU0veXl5eSBISDptbTpzczpTXCI7XG4iXX0=
|
package/lib/model/constants.d.ts
CHANGED