@minimaltech/node-infra 0.5.8-8 → 0.5.8

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.
Files changed (150) hide show
  1. package/dist/base/applications/base.application.d.ts +11 -6
  2. package/dist/base/applications/base.application.js +27 -28
  3. package/dist/base/applications/base.application.js.map +1 -1
  4. package/dist/base/base.helper.d.ts +1 -1
  5. package/dist/base/base.helper.js +3 -2
  6. package/dist/base/base.helper.js.map +1 -1
  7. package/dist/base/base.provider.d.ts +3 -1
  8. package/dist/base/base.provider.js.map +1 -1
  9. package/dist/base/base.sequence.d.ts +2 -1
  10. package/dist/base/controllers/common.d.ts +2 -9
  11. package/dist/base/controllers/common.js +1 -27
  12. package/dist/base/controllers/common.js.map +1 -1
  13. package/dist/base/controllers/crud.controller.js +2 -1
  14. package/dist/base/controllers/crud.controller.js.map +1 -1
  15. package/dist/base/controllers/kv.controller.d.ts +1 -1
  16. package/dist/base/controllers/service-crud.controller.js +2 -1
  17. package/dist/base/controllers/service-crud.controller.js.map +1 -1
  18. package/dist/base/datasources/base.datasource.d.ts +2 -0
  19. package/dist/base/datasources/base.datasource.js +5 -0
  20. package/dist/base/datasources/base.datasource.js.map +1 -1
  21. package/dist/base/index.d.ts +1 -1
  22. package/dist/base/index.js +1 -1
  23. package/dist/base/index.js.map +1 -1
  24. package/dist/base/loopback/@lb/core/index.d.ts +0 -1
  25. package/dist/base/loopback/@lb/core/index.js +0 -1
  26. package/dist/base/loopback/@lb/core/index.js.map +1 -1
  27. package/dist/base/loopback/@lb/repository/index.d.ts +1 -0
  28. package/dist/base/loopback/@lb/repository/index.js +1 -0
  29. package/dist/base/loopback/@lb/repository/index.js.map +1 -1
  30. package/dist/base/{base.model.d.ts → models/base.model.d.ts} +34 -5
  31. package/dist/base/{base.model.js → models/base.model.js} +30 -2
  32. package/dist/base/models/base.model.js.map +1 -0
  33. package/dist/base/models/index.d.ts +1 -0
  34. package/dist/base/models/index.js +18 -0
  35. package/dist/base/models/index.js.map +1 -0
  36. package/dist/base/repositories/base.repository.d.ts +22 -22
  37. package/dist/base/repositories/base.repository.js.map +1 -1
  38. package/dist/base/repositories/relations/has-many-polymorphic/decorator.d.ts +2 -1
  39. package/dist/base/repositories/relations/has-many-polymorphic/factory.d.ts +13 -13
  40. package/dist/base/repositories/relations/has-many-polymorphic/factory.js +41 -41
  41. package/dist/base/repositories/relations/has-many-polymorphic/factory.js.map +1 -1
  42. package/dist/base/repositories/searchable-tz-crud.repository.d.ts +12 -12
  43. package/dist/base/repositories/searchable-tz-crud.repository.js +1 -1
  44. package/dist/base/repositories/searchable-tz-crud.repository.js.map +1 -1
  45. package/dist/base/repositories/tz-crud.repository.d.ts +18 -18
  46. package/dist/base/repositories/tz-crud.repository.js.map +1 -1
  47. package/dist/base/services/base-crud.service.d.ts +2 -2
  48. package/dist/base/services/base-crud.service.js +1 -1
  49. package/dist/base/services/base-crud.service.js.map +1 -1
  50. package/dist/common/types.d.ts +26 -20
  51. package/dist/components/authenticate/middleware.d.ts +2 -2
  52. package/dist/components/authenticate/middleware.js.map +1 -1
  53. package/dist/components/authenticate/models/oauth2-client.model.d.ts +1 -1
  54. package/dist/components/authenticate/models/oauth2-client.model.js +2 -2
  55. package/dist/components/authenticate/models/oauth2-client.model.js.map +1 -1
  56. package/dist/components/authenticate/models/oauth2-scope.model.d.ts +1 -1
  57. package/dist/components/authenticate/models/oauth2-scope.model.js +2 -2
  58. package/dist/components/authenticate/models/oauth2-scope.model.js.map +1 -1
  59. package/dist/components/authenticate/models/oauth2-token.model.d.ts +1 -1
  60. package/dist/components/authenticate/models/oauth2-token.model.js +2 -2
  61. package/dist/components/authenticate/models/oauth2-token.model.js.map +1 -1
  62. package/dist/components/authenticate/oauth2-handlers/base.d.ts +3 -3
  63. package/dist/components/authenticate/oauth2-handlers/base.js +10 -2
  64. package/dist/components/authenticate/oauth2-handlers/base.js.map +1 -1
  65. package/dist/components/authenticate/services/oauth2.service.js +3 -0
  66. package/dist/components/authenticate/services/oauth2.service.js.map +1 -1
  67. package/dist/components/authorize/interceptor.js +16 -16
  68. package/dist/components/authorize/interceptor.js.map +1 -1
  69. package/dist/components/authorize/models/defs.js +6 -6
  70. package/dist/components/authorize/models/defs.js.map +1 -1
  71. package/dist/components/authorize/models/view-authorize-policy.model.d.ts +1 -1
  72. package/dist/components/authorize/models/view-authorize-policy.model.js +2 -2
  73. package/dist/components/authorize/models/view-authorize-policy.model.js.map +1 -1
  74. package/dist/components/authorize/repositories/authorize.repository.d.ts +1 -1
  75. package/dist/components/authorize/repositories/authorize.repository.js.map +1 -1
  76. package/dist/components/migration/models/migration.model.d.ts +1 -1
  77. package/dist/components/migration/models/migration.model.js +3 -3
  78. package/dist/components/migration/models/migration.model.js.map +1 -1
  79. package/dist/components/migration/repositories/migration.repository.js +1 -1
  80. package/dist/components/migration/repositories/migration.repository.js.map +1 -1
  81. package/dist/datasources/kvmem/datasource.d.ts +2 -0
  82. package/dist/datasources/kvmem/datasource.js +4 -0
  83. package/dist/datasources/kvmem/datasource.js.map +1 -1
  84. package/dist/helpers/index.d.ts +1 -1
  85. package/dist/helpers/index.js +1 -1
  86. package/dist/helpers/index.js.map +1 -1
  87. package/dist/helpers/logger/common/types.d.ts +2 -2
  88. package/dist/helpers/logger/default-logger.d.ts +1 -1
  89. package/dist/helpers/logger/default-logger.js +13 -10
  90. package/dist/helpers/logger/default-logger.js.map +1 -1
  91. package/dist/helpers/network/http-request/fetcher/axios-fetcher.d.ts +1 -1
  92. package/dist/helpers/{redis.helper.d.ts → redis/default.helper.d.ts} +3 -49
  93. package/dist/helpers/{redis.helper.js → redis/default.helper.js} +4 -50
  94. package/dist/helpers/redis/default.helper.js.map +1 -0
  95. package/dist/helpers/redis/index.d.ts +4 -0
  96. package/dist/helpers/redis/index.js +21 -0
  97. package/dist/helpers/redis/index.js.map +1 -0
  98. package/dist/helpers/redis/redis-cluster.helper.d.ts +7 -0
  99. package/dist/helpers/redis/redis-cluster.helper.js +22 -0
  100. package/dist/helpers/redis/redis-cluster.helper.js.map +1 -0
  101. package/dist/helpers/redis/redis.helper.d.ts +7 -0
  102. package/dist/helpers/redis/redis.helper.js +38 -0
  103. package/dist/helpers/redis/redis.helper.js.map +1 -0
  104. package/dist/helpers/redis/types.d.ts +42 -0
  105. package/dist/helpers/redis/types.js +3 -0
  106. package/dist/helpers/redis/types.js.map +1 -0
  107. package/dist/helpers/worker-thread/base.d.ts +43 -1
  108. package/dist/helpers/worker-thread/base.js +80 -2
  109. package/dist/helpers/worker-thread/base.js.map +1 -1
  110. package/dist/helpers/worker-thread/index.d.ts +2 -0
  111. package/dist/helpers/worker-thread/index.js +2 -0
  112. package/dist/helpers/worker-thread/index.js.map +1 -1
  113. package/dist/helpers/worker-thread/types.d.ts +18 -1
  114. package/dist/helpers/worker-thread/worker-pool.d.ts +26 -0
  115. package/dist/helpers/worker-thread/worker-pool.js +78 -0
  116. package/dist/helpers/worker-thread/worker-pool.js.map +1 -0
  117. package/dist/interceptors/content-range.interceptor.d.ts +1 -1
  118. package/dist/middlewares/request-body-parser.middleware.d.ts +2 -2
  119. package/dist/middlewares/request-body-parser.middleware.js.map +1 -1
  120. package/dist/middlewares/request-spy.middleware.d.ts +2 -2
  121. package/dist/middlewares/request-spy.middleware.js.map +1 -1
  122. package/dist/mixins/deprecated/user-audit.mixin.d.ts +16 -0
  123. package/dist/mixins/deprecated/user-audit.mixin.js +45 -0
  124. package/dist/mixins/deprecated/user-audit.mixin.js.map +1 -0
  125. package/dist/mixins/duplicatable.mixin.d.ts +1 -1
  126. package/dist/mixins/duplicatable.mixin.js +3 -3
  127. package/dist/mixins/duplicatable.mixin.js.map +1 -1
  128. package/dist/mixins/index.d.ts +3 -2
  129. package/dist/mixins/index.js +3 -3
  130. package/dist/mixins/index.js.map +1 -1
  131. package/dist/mixins/tz.mixin.js +4 -2
  132. package/dist/mixins/tz.mixin.js.map +1 -1
  133. package/dist/mixins/user-audit.mixin.d.ts +9 -5
  134. package/dist/mixins/user-audit.mixin.js +47 -11
  135. package/dist/mixins/user-audit.mixin.js.map +1 -1
  136. package/dist/mixins/vector.mixin.d.ts +22 -0
  137. package/dist/mixins/vector.mixin.js +70 -0
  138. package/dist/mixins/vector.mixin.js.map +1 -0
  139. package/dist/utilities/index.d.ts +1 -0
  140. package/dist/utilities/index.js +1 -0
  141. package/dist/utilities/index.js.map +1 -1
  142. package/dist/utilities/model.utility.d.ts +8 -0
  143. package/dist/utilities/model.utility.js +30 -0
  144. package/dist/utilities/model.utility.js.map +1 -0
  145. package/package.json +53 -79
  146. package/dist/base/base.model.js.map +0 -1
  147. package/dist/helpers/redis.helper.js.map +0 -1
  148. package/dist/mixins/user-audit-v2.mixin.d.ts +0 -20
  149. package/dist/mixins/user-audit-v2.mixin.js +0 -81
  150. package/dist/mixins/user-audit-v2.mixin.js.map +0 -1
@@ -1,9 +1,87 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.BaseWorkerThreadHelper = exports.AbstractWorkerThreadHelper = void 0;
3
+ exports.BaseWorkerThreadHelper = exports.AbstractWorkerThreadHelper = exports.BaseWorkerHelper = exports.AbstractWorkerHelper = void 0;
4
+ const node_worker_threads_1 = require("node:worker_threads");
4
5
  const base_helper_1 = require("../../base/base.helper");
5
6
  const error_utility_1 = require("../../utilities/error.utility");
6
- const node_worker_threads_1 = require("node:worker_threads");
7
+ // -------------------------------------------------------------------------------------------
8
+ // WORKER
9
+ // -------------------------------------------------------------------------------------------
10
+ class AbstractWorkerHelper extends base_helper_1.BaseHelper {
11
+ }
12
+ exports.AbstractWorkerHelper = AbstractWorkerHelper;
13
+ // -------------------------------------------------------------------------------------------
14
+ class BaseWorkerHelper extends AbstractWorkerHelper {
15
+ constructor(opts) {
16
+ super({ scope: BaseWorkerHelper.name, identifier: opts.identifier });
17
+ this.worker = new node_worker_threads_1.Worker(opts.path, opts.options);
18
+ this.eventHandlers = opts.eventHandlers;
19
+ this.binding();
20
+ }
21
+ onOnline() {
22
+ var _a;
23
+ if ((_a = this.eventHandlers) === null || _a === void 0 ? void 0 : _a.onOnline) {
24
+ this.eventHandlers.onOnline();
25
+ return;
26
+ }
27
+ this.logger.info('[online] Worker ONLINE');
28
+ }
29
+ onExit(opts) {
30
+ var _a;
31
+ if ((_a = this.eventHandlers) === null || _a === void 0 ? void 0 : _a.onExit) {
32
+ this.eventHandlers.onExit({ code: opts.code });
33
+ return;
34
+ }
35
+ this.logger.warn('[onExit] Worker EXIT | Code: %s', opts.code);
36
+ }
37
+ onError(opts) {
38
+ var _a;
39
+ if ((_a = this.eventHandlers) === null || _a === void 0 ? void 0 : _a.onError) {
40
+ this.eventHandlers.onError({ error: opts.error });
41
+ return;
42
+ }
43
+ this.logger.error('[onError] Worker ERROR | Error: %s', opts.error);
44
+ }
45
+ onMessage(opts) {
46
+ var _a;
47
+ if ((_a = this.eventHandlers) === null || _a === void 0 ? void 0 : _a.onMessage) {
48
+ this.eventHandlers.onMessage({ message: opts.message });
49
+ return;
50
+ }
51
+ this.logger.error('[onMessage] Worker MESSAGE | message: %j', opts.message);
52
+ }
53
+ onMessageError(opts) {
54
+ var _a;
55
+ if ((_a = this.eventHandlers) === null || _a === void 0 ? void 0 : _a.onMessageError) {
56
+ this.eventHandlers.onMessageError({ error: opts.error });
57
+ return;
58
+ }
59
+ this.logger.error('[onMessageError] Worker MESSAGE_ERROR | Error: %s', opts.error);
60
+ }
61
+ binding() {
62
+ if (!this.worker) {
63
+ throw (0, error_utility_1.getError)({ message: '[binding] Invalid worker instance to bind event handlers' });
64
+ }
65
+ this.worker.on('online', () => {
66
+ this.onOnline();
67
+ });
68
+ this.worker.on('exit', code => {
69
+ this.onExit({ code });
70
+ });
71
+ this.worker.on('error', error => {
72
+ this.onError({ error });
73
+ });
74
+ this.worker.on('message', message => {
75
+ this.onMessage({ message });
76
+ });
77
+ this.worker.on('messageerror', error => {
78
+ this.onMessageError({ error });
79
+ });
80
+ }
81
+ }
82
+ exports.BaseWorkerHelper = BaseWorkerHelper;
83
+ // -------------------------------------------------------------------------------------------
84
+ // WORKER THREAD RUNNER
7
85
  // -------------------------------------------------------------------------------------------
8
86
  class AbstractWorkerThreadHelper extends base_helper_1.BaseHelper {
9
87
  }
@@ -1 +1 @@
1
- {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../src/helpers/worker-thread/base.ts"],"names":[],"mappings":";;;AAAA,oDAAgD;AAEhD,6DAAqD;AACrD,6DAAmD;AAGnD,8FAA8F;AAC9F,MAAsB,0BAA2B,SAAQ,wBAAU;CAWlE;AAXD,gEAWC;AAED,8FAA8F;AAC9F,MAAa,sBAAuB,SAAQ,0BAA0B;IACpE,YAAY,IAAuB;QACjC,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;QACvB,KAAK,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;QAEpC,IAAI,kCAAY,EAAE,CAAC;YACjB,MAAM,IAAA,wBAAQ,EAAC;gBACb,OAAO,EAAE,iDAAiD;aAC3D,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;IAClB,CAAC;IAED,aAAa,CAAS,IAA8C;QAClE,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAChB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAClB,CAAC;QAED,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;QAC1B,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;YACpB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,8CAA8C,EAAE,GAAG,CAAC,CAAC;YACtE,OAAO;QACT,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;IACxB,CAAC;IAED,eAAe,CAAC,IAAqB;;QACnC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAChB,OAAO;QACT,CAAC;QAED,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,oDAAoD,EAAE,GAAG,CAAC,CAAC;YAC5E,OAAO;QACT,CAAC;QAED,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,0CAAE,IAAI,0CAAE,kBAAkB,EAAE,CAAC;QAC5C,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IAED,YAAY,CAAS,IAAqB;QACxC,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAChC,IAAI,CAAC,EAAE,EAAE,CAAC;YACR,MAAM,IAAA,wBAAQ,EAAC;gBACb,OAAO,EAAE,8CAA8C,IAAI,CAAC,GAAG,EAAE;aAClE,CAAC,CAAC;QACL,CAAC;QAED,OAAO,EAAwB,CAAC;IAClC,CAAC;CACF;AArDD,wDAqDC"}
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../src/helpers/worker-thread/base.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,4 @@
1
1
  export * from './base';
2
+ export * from './types';
2
3
  export * from './worker-bus';
4
+ export * from './worker-pool';
@@ -15,5 +15,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./base"), exports);
18
+ __exportStar(require("./types"), exports);
18
19
  __exportStar(require("./worker-bus"), exports);
20
+ __exportStar(require("./worker-pool"), exports);
19
21
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/helpers/worker-thread/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yCAAuB;AACvB,+CAA6B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/helpers/worker-thread/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yCAAuB;AACvB,0CAAwB;AACxB,+CAA6B;AAC7B,gDAA8B"}
@@ -1,5 +1,22 @@
1
1
  import { AnyType, ValueOrPromise } from '../../common/types';
2
- import { MessagePort, Transferable } from 'node:worker_threads';
2
+ import { MessagePort, Transferable, Worker, WorkerOptions } from 'node:worker_threads';
3
+ export interface IWorker<MessageType> {
4
+ worker: Worker;
5
+ options: WorkerOptions;
6
+ onOnline(): ValueOrPromise<void>;
7
+ onExit(opts: {
8
+ code: string | number;
9
+ }): ValueOrPromise<void>;
10
+ onError(opts: {
11
+ error: Error;
12
+ }): ValueOrPromise<void>;
13
+ onMessage(opts: {
14
+ message: MessageType;
15
+ }): ValueOrPromise<void>;
16
+ onMessageError(opts: {
17
+ error: Error;
18
+ }): ValueOrPromise<void>;
19
+ }
3
20
  export interface IWorkerThread {
4
21
  buses: {
5
22
  [workerKey: string | symbol]: IWorkerBus<AnyType, AnyType>;
@@ -0,0 +1,26 @@
1
+ import { BaseHelper } from '../../base/base.helper';
2
+ import { IWorker } from './types';
3
+ export declare class WorkerPoolHelper extends BaseHelper {
4
+ private static instance;
5
+ protected registry: Map<string | symbol, IWorker<any>>;
6
+ private numberOfCPUs;
7
+ private ignoreMaxWarning;
8
+ constructor(opts?: {
9
+ ignoreMaxWarning?: boolean;
10
+ });
11
+ static getInstance(): WorkerPoolHelper;
12
+ size(): number;
13
+ get<MessageType>(opts: {
14
+ key: string;
15
+ }): IWorker<MessageType> | undefined;
16
+ has(opts: {
17
+ key: string;
18
+ }): boolean;
19
+ register<MessageType>(opts: {
20
+ key: string;
21
+ worker: IWorker<MessageType>;
22
+ }): void;
23
+ unregister(opts: {
24
+ key: string;
25
+ }): Promise<void>;
26
+ }
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.WorkerPoolHelper = void 0;
16
+ const node_os_1 = __importDefault(require("node:os"));
17
+ const base_helper_1 = require("../../base/base.helper");
18
+ const error_utility_1 = require("../../utilities/error.utility");
19
+ class WorkerPoolHelper extends base_helper_1.BaseHelper {
20
+ constructor(opts) {
21
+ var _a;
22
+ super({ scope: WorkerPoolHelper.name });
23
+ this.registry = new Map([]);
24
+ const cpus = node_os_1.default.cpus();
25
+ this.numberOfCPUs = cpus.length;
26
+ this.ignoreMaxWarning = (_a = opts === null || opts === void 0 ? void 0 : opts.ignoreMaxWarning) !== null && _a !== void 0 ? _a : false;
27
+ }
28
+ static getInstance() {
29
+ if (!WorkerPoolHelper.instance) {
30
+ WorkerPoolHelper.instance = new WorkerPoolHelper({ ignoreMaxWarning: false });
31
+ }
32
+ return WorkerPoolHelper.instance;
33
+ }
34
+ size() {
35
+ return this.registry.size;
36
+ }
37
+ get(opts) {
38
+ return this.registry.get(opts.key);
39
+ }
40
+ has(opts) {
41
+ return this.registry.has(opts.key);
42
+ }
43
+ register(opts) {
44
+ if (!this.registry) {
45
+ throw (0, error_utility_1.getError)({
46
+ message: '[register] Invalid worker registry instance | please init registry before register new worker!',
47
+ });
48
+ }
49
+ if (this.registry.size === this.numberOfCPUs && !this.ignoreMaxWarning) {
50
+ this.logger.warn('[register] SKIP register worker | Pool size reached maximum number of cores | CPUs: %s | ignoreMaxWarning: %s', this.numberOfCPUs, this.ignoreMaxWarning);
51
+ return;
52
+ }
53
+ const { key, worker } = opts;
54
+ if (this.registry.has(key)) {
55
+ this.logger.error('[register] SKIP register worker | Worker key existed in pool | key: %s', key);
56
+ return;
57
+ }
58
+ this.registry.set(key, worker);
59
+ this.logger.info('[register] Successfully register worker | key: %s | poolSize: %s', key, this.registry.size);
60
+ }
61
+ unregister(opts) {
62
+ return __awaiter(this, void 0, void 0, function* () {
63
+ const { key } = opts;
64
+ if (!this.has({ key })) {
65
+ this.logger.warn('[unregister] SKIP unregister worker | Worker not existed | key: %s', key);
66
+ return;
67
+ }
68
+ const w = this.get({ key });
69
+ if (w === null || w === void 0 ? void 0 : w.worker) {
70
+ yield w.worker.terminate();
71
+ }
72
+ this.registry.delete(key);
73
+ this.logger.info('[unregister] Successfully unregister worker | key: %s | poolSize: %s', key, this.registry.size);
74
+ });
75
+ }
76
+ }
77
+ exports.WorkerPoolHelper = WorkerPoolHelper;
78
+ //# sourceMappingURL=worker-pool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worker-pool.js","sourceRoot":"","sources":["../../../src/helpers/worker-thread/worker-pool.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { BaseIdEntity } from '../base/base.model';
1
+ import { BaseIdEntity } from '../base/models';
2
2
  import { IController } from '../common';
3
3
  import { Interceptor, InvocationContext, InvocationResult, Provider, ValueOrPromise } from '@loopback/core';
4
4
  import { Response } from '@loopback/rest';
@@ -1,7 +1,7 @@
1
- import { Next, Provider, ValueOrPromise } from '@loopback/core';
1
+ import { Next, ValueOrPromise } from '@loopback/core';
2
2
  import { Middleware, MiddlewareContext } from '@loopback/rest';
3
3
  import { BaseProvider } from '../base/base.provider';
4
- export declare class RequestBodyParserMiddleware extends BaseProvider implements Provider<Middleware> {
4
+ export declare class RequestBodyParserMiddleware extends BaseProvider<Middleware> {
5
5
  constructor();
6
6
  handle(context: MiddlewareContext): Promise<unknown>;
7
7
  middleware(context: MiddlewareContext, next: Next): Promise<import("@loopback/core").NonVoid>;
@@ -1 +1 @@
1
- {"version":3,"file":"request-body-parser.middleware.js","sourceRoot":"","sources":["../../src/middlewares/request-body-parser.middleware.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yCAA4E;AAC5E,yCAOwB;AAExB,wDAAoD;AAEpD,qDAA6B;AAQtB,IAAM,2BAA2B,mCAAjC,MAAM,2BAA4B,SAAQ,4BAAY;IAC3D;QACE,KAAK,CAAC,EAAE,KAAK,EAAE,6BAA2B,CAAC,IAAI,EAAE,CAAC,CAAC;IACrD,CAAC;IAED,MAAM,CAAC,OAA0B;QAC/B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;;YACrC,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;YAE5B,MAAM,WAAW,GAAG,MAAA,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,0CAAE,WAAW,EAAE,CAAC;YACnE,QAAQ,WAAW,EAAE,CAAC;gBACpB,KAAK,mCAAmC,CAAC,CAAC,CAAC;oBACzC,MAAM,UAAU,GAAG,IAAI,2BAAoB,CAAC;wBAC1C,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;qBAC/B,CAAC,CAAC;oBACH,UAAU;yBACP,KAAK,CAAC,OAAO,CAAC;yBACd,IAAI,CAAC,EAAE,CAAC,EAAE;wBACT,IAAA,aAAG,EAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;wBAC/B,OAAO,CAAC,OAAO,CAAC,CAAC;oBACnB,CAAC,CAAC;yBACD,KAAK,CAAC,MAAM,CAAC,CAAC;oBACjB,MAAM;gBACR,CAAC;gBACD,OAAO,CAAC,CAAC,CAAC;oBACR,OAAO,CAAC,OAAO,CAAC,CAAC;oBACjB,MAAM;gBACR,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEK,UAAU,CAAC,OAA0B,EAAE,IAAU;;YACrD,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC3B,OAAO,IAAI,EAAE,CAAC;QAChB,CAAC;KAAA;IAED,KAAK;QACH,OAAO,CAAC,OAA0B,EAAE,IAAU,EAAE,EAAE;YAChD,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACxC,CAAC,CAAC;IACJ,CAAC;CACF,CAAA;AA1CY,kEAA2B;sCAA3B,2BAA2B;IANvC,IAAA,iBAAU,EACT,IAAA,mBAAY,EAAC;QACX,KAAK,EAAE,eAAQ,CAAC,qBAAqB;QACrC,KAAK,EAAE,2BAAoB,CAAC,UAAU;KACvC,CAAC,CACH;;GACY,2BAA2B,CA0CvC"}
1
+ {"version":3,"file":"request-body-parser.middleware.js","sourceRoot":"","sources":["../../src/middlewares/request-body-parser.middleware.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yCAAkE;AAClE,yCAOwB;AAExB,wDAAoD;AAEpD,qDAA6B;AAQtB,IAAM,2BAA2B,mCAAjC,MAAM,2BAA4B,SAAQ,4BAAwB;IACvE;QACE,KAAK,CAAC,EAAE,KAAK,EAAE,6BAA2B,CAAC,IAAI,EAAE,CAAC,CAAC;IACrD,CAAC;IAED,MAAM,CAAC,OAA0B;QAC/B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;;YACrC,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;YAE5B,MAAM,WAAW,GAAG,MAAA,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,0CAAE,WAAW,EAAE,CAAC;YACnE,QAAQ,WAAW,EAAE,CAAC;gBACpB,KAAK,mCAAmC,CAAC,CAAC,CAAC;oBACzC,MAAM,UAAU,GAAG,IAAI,2BAAoB,CAAC;wBAC1C,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;qBAC/B,CAAC,CAAC;oBACH,UAAU;yBACP,KAAK,CAAC,OAAO,CAAC;yBACd,IAAI,CAAC,EAAE,CAAC,EAAE;wBACT,IAAA,aAAG,EAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;wBAC/B,OAAO,CAAC,OAAO,CAAC,CAAC;oBACnB,CAAC,CAAC;yBACD,KAAK,CAAC,MAAM,CAAC,CAAC;oBACjB,MAAM;gBACR,CAAC;gBACD,OAAO,CAAC,CAAC,CAAC;oBACR,OAAO,CAAC,OAAO,CAAC,CAAC;oBACjB,MAAM;gBACR,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEK,UAAU,CAAC,OAA0B,EAAE,IAAU;;YACrD,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC3B,OAAO,IAAI,EAAE,CAAC;QAChB,CAAC;KAAA;IAED,KAAK;QACH,OAAO,CAAC,OAA0B,EAAE,IAAU,EAAE,EAAE;YAChD,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACxC,CAAC,CAAC;IACJ,CAAC;CACF,CAAA;AA1CY,kEAA2B;sCAA3B,2BAA2B;IANvC,IAAA,iBAAU,EACT,IAAA,mBAAY,EAAC;QACX,KAAK,EAAE,eAAQ,CAAC,qBAAqB;QACrC,KAAK,EAAE,2BAAoB,CAAC,UAAU;KACvC,CAAC,CACH;;GACY,2BAA2B,CA0CvC"}
@@ -1,7 +1,7 @@
1
1
  import { BaseProvider } from '../base/base.provider';
2
- import { Provider, ValueOrPromise } from '@loopback/core';
2
+ import { ValueOrPromise } from '@loopback/core';
3
3
  import { Middleware, MiddlewareContext } from '@loopback/rest';
4
- export declare class RequestSpyMiddleware extends BaseProvider implements Provider<Middleware> {
4
+ export declare class RequestSpyMiddleware extends BaseProvider<Middleware> {
5
5
  constructor();
6
6
  handle(context: MiddlewareContext): void;
7
7
  value(): ValueOrPromise<Middleware>;
@@ -1 +1 @@
1
- {"version":3,"file":"request-spy.middleware.js","sourceRoot":"","sources":["../../src/middlewares/request-spy.middleware.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wDAAoD;AACpD,6DAAmD;AACnD,yCAA4E;AAC5E,yCAMwB;AAExB,qDAA6B;AAQtB,IAAM,oBAAoB,4BAA1B,MAAM,oBAAqB,SAAQ,4BAAY;IACpD;QACE,KAAK,CAAC,EAAE,KAAK,EAAE,sBAAoB,CAAC,IAAI,EAAE,CAAC,CAAC;IAC9C,CAAC;IAED,MAAM,CAAC,OAA0B;;QAC/B,IAAI,CAAC;YACH,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;YAE5B,MAAM,SAAS,GAAG,IAAA,sBAAM,GAAE,CAAC;YAC3B,IAAA,aAAG,EAAC,OAAO,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;YAErC,MAAM,EAAE,GAAG,GAAG,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;YACjE,MAAM,UAAU,GAAG,MAAA,kBAAkB,CAAC,GAAG,CAAC,0CAAE,OAAO,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC;YAC7E,MAAM,eAAe,GAAG;gBACtB,EAAE,EAAE,SAAS;gBACb,GAAG,EAAE,UAAU;gBACf,MAAM;gBACN,IAAI,EAAE,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,KAAK;gBACnB,KAAK,EAAE,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,KAAK;gBACrB,IAAI;aACL,CAAC;YACF,IAAA,aAAG,EAAC,OAAO,EAAE,iBAAiB,EAAE,eAAe,CAAC,CAAC;YAEjD,MAAM,kBAAkB,GAAG,MAAA,MAAA,OAAO,CAAC,WAAW,CAAC,mCAAI,OAAO,CAAC,iBAAiB,CAAC,mCAAI,KAAK,CAAC;YACvF,IAAA,aAAG,EAAC,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,CAAC,CAAC;YAEvD,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,8DAA8D,EAC9D,SAAS,EACT,kBAAkB,EAClB,eAAe,CAChB,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,qDAAqD,EAAE,KAAK,CAAC,CAAC;QAClF,CAAC;IACH,CAAC;IAED,KAAK;QACH,OAAO,CAAC,OAA0B,EAAE,IAAU,EAAE,EAAE;YAChD,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACrB,OAAO,IAAI,EAAE,CAAC;QAChB,CAAC,CAAC;IACJ,CAAC;CACF,CAAA;AA5CY,oDAAoB;+BAApB,oBAAoB;IANhC,IAAA,iBAAU,EACT,IAAA,mBAAY,EAAC;QACX,KAAK,EAAE,eAAQ,CAAC,qBAAqB;QACrC,KAAK,EAAE,2BAAoB,CAAC,UAAU;KACvC,CAAC,CACH;;GACY,oBAAoB,CA4ChC"}
1
+ {"version":3,"file":"request-spy.middleware.js","sourceRoot":"","sources":["../../src/middlewares/request-spy.middleware.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wDAAoD;AACpD,6DAAmD;AACnD,yCAAkE;AAClE,yCAMwB;AAExB,qDAA6B;AAQtB,IAAM,oBAAoB,4BAA1B,MAAM,oBAAqB,SAAQ,4BAAwB;IAChE;QACE,KAAK,CAAC,EAAE,KAAK,EAAE,sBAAoB,CAAC,IAAI,EAAE,CAAC,CAAC;IAC9C,CAAC;IAED,MAAM,CAAC,OAA0B;;QAC/B,IAAI,CAAC;YACH,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;YAE5B,MAAM,SAAS,GAAG,IAAA,sBAAM,GAAE,CAAC;YAC3B,IAAA,aAAG,EAAC,OAAO,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;YAErC,MAAM,EAAE,GAAG,GAAG,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;YACjE,MAAM,UAAU,GAAG,MAAA,kBAAkB,CAAC,GAAG,CAAC,0CAAE,OAAO,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC;YAC7E,MAAM,eAAe,GAAG;gBACtB,EAAE,EAAE,SAAS;gBACb,GAAG,EAAE,UAAU;gBACf,MAAM;gBACN,IAAI,EAAE,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,KAAK;gBACnB,KAAK,EAAE,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,KAAK;gBACrB,IAAI;aACL,CAAC;YACF,IAAA,aAAG,EAAC,OAAO,EAAE,iBAAiB,EAAE,eAAe,CAAC,CAAC;YAEjD,MAAM,kBAAkB,GAAG,MAAA,MAAA,OAAO,CAAC,WAAW,CAAC,mCAAI,OAAO,CAAC,iBAAiB,CAAC,mCAAI,KAAK,CAAC;YACvF,IAAA,aAAG,EAAC,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,CAAC,CAAC;YAEvD,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,8DAA8D,EAC9D,SAAS,EACT,kBAAkB,EAClB,eAAe,CAChB,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,qDAAqD,EAAE,KAAK,CAAC,CAAC;QAClF,CAAC;IACH,CAAC;IAED,KAAK;QACH,OAAO,CAAC,OAA0B,EAAE,IAAU,EAAE,EAAE;YAChD,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACrB,OAAO,IAAI,EAAE,CAAC;QAChB,CAAC,CAAC;IACJ,CAAC;CACF,CAAA;AA5CY,oDAAoB;+BAApB,oBAAoB;IANhC,IAAA,iBAAU,EACT,IAAA,mBAAY,EAAC;QACX,KAAK,EAAE,eAAQ,CAAC,qBAAqB;QACrC,KAAK,EAAE,2BAAoB,CAAC,UAAU;KACvC,CAAC,CACH;;GACY,oBAAoB,CA4ChC"}
@@ -0,0 +1,16 @@
1
+ import { IdType } from '../../common/types';
2
+ import { MixinTarget } from '@loopback/core';
3
+ import { Entity } from '@loopback/repository';
4
+ /**
5
+ * @deprecated The method will soon deleted
6
+ */
7
+ export declare const UserAuditMixinDeprecated: <E extends MixinTarget<Entity>>(superClass: E) => {
8
+ new (...args: any[]): {
9
+ createdBy: IdType;
10
+ modifiedBy: IdType;
11
+ getId: () => any;
12
+ getIdObject: () => Object;
13
+ toJSON: () => Object;
14
+ toObject: (options?: import("@loopback/repository").Options) => Object;
15
+ };
16
+ } & E;
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ 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;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.UserAuditMixinDeprecated = void 0;
13
+ const repository_1 = require("@loopback/repository");
14
+ /**
15
+ * @deprecated The method will soon deleted
16
+ */
17
+ const UserAuditMixinDeprecated = (superClass) => {
18
+ class Mixed extends superClass {
19
+ }
20
+ __decorate([
21
+ (0, repository_1.property)({
22
+ type: 'number',
23
+ postgresql: {
24
+ columnName: 'created_by',
25
+ dataType: 'integer',
26
+ },
27
+ // hidden: true,
28
+ }),
29
+ __metadata("design:type", Object)
30
+ ], Mixed.prototype, "createdBy", void 0);
31
+ __decorate([
32
+ (0, repository_1.property)({
33
+ type: 'number',
34
+ postgresql: {
35
+ columnName: 'modified_by',
36
+ dataType: 'integer',
37
+ },
38
+ // hidden: true,
39
+ }),
40
+ __metadata("design:type", Object)
41
+ ], Mixed.prototype, "modifiedBy", void 0);
42
+ return Mixed;
43
+ };
44
+ exports.UserAuditMixinDeprecated = UserAuditMixinDeprecated;
45
+ //# sourceMappingURL=user-audit.mixin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-audit.mixin.js","sourceRoot":"","sources":["../../../src/mixins/deprecated/user-audit.mixin.ts"],"names":[],"mappings":";;;;;;;;;;;;AAEA,qDAAwD;AAExD;;GAEG;AACI,MAAM,wBAAwB,GAAG,CAAgC,UAAa,EAAE,EAAE;IACvF,MAAM,KAAM,SAAQ,UAAU;KAoB7B;IAXC;QARC,IAAA,qBAAQ,EAAC;YACR,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,UAAU,EAAE,YAAY;gBACxB,QAAQ,EAAE,SAAS;aACpB;YACD,gBAAgB;SACjB,CAAC;;4CACgB;IAUlB;QARC,IAAA,qBAAQ,EAAC;YACR,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,UAAU,EAAE,aAAa;gBACzB,QAAQ,EAAE,SAAS;aACpB;YACD,gBAAgB;SACjB,CAAC;;6CACiB;IAGrB,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAxBW,QAAA,wBAAwB,4BAwBnC"}
@@ -1,4 +1,4 @@
1
- import { BaseIdEntity } from '../base/base.model';
1
+ import { BaseIdEntity } from '../base/models/base.model';
2
2
  import { IdType } from '../common';
3
3
  import { MixinTarget } from '@loopback/core';
4
4
  export declare const DuplicatableMixin: <E extends MixinTarget<BaseIdEntity>>(superClass: E) => {
@@ -10,11 +10,11 @@ var __metadata = (this && this.__metadata) || function (k, v) {
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.DuplicatableMixin = void 0;
13
- const base_model_1 = require("../base/base.model");
14
- const common_1 = require("../base/controllers/common");
13
+ const base_model_1 = require("../base/models/base.model");
14
+ const model_utility_1 = require("../utilities/model.utility");
15
15
  const repository_1 = require("@loopback/repository");
16
16
  const DuplicatableMixin = (superClass) => {
17
- const sourceIdType = (0, common_1.getIdType)(base_model_1.BaseIdEntity);
17
+ const sourceIdType = (0, model_utility_1.getIdType)(base_model_1.BaseIdEntity);
18
18
  let Mixed = class Mixed extends superClass {
19
19
  };
20
20
  __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"duplicatable.mixin.js","sourceRoot":"","sources":["../../src/mixins/duplicatable.mixin.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,kDAAiD;AACjD,sDAAsD;AAGtD,qDAAuD;AAEhD,MAAM,iBAAiB,GAAG,CAAsC,UAAa,EAAE,EAAE;IACtF,MAAM,YAAY,GAAG,IAAA,kBAAS,EAAC,yBAAY,CAAC,CAAC;IAG7C,IAAM,KAAK,GAAX,MAAM,KAAM,SAAQ,UAAU;KAS7B,CAAA;IADC;QAPC,IAAA,qBAAQ,EAAC;YACR,IAAI,EAAE,YAAY;YAClB,UAAU,EAAE;gBACV,UAAU,EAAE,WAAW;gBACvB,QAAQ,EAAE,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM;aACzD;SACF,CAAC;;2CACgB;IARd,KAAK;QADV,IAAA,kBAAK,GAAE;OACF,KAAK,CASV;IAED,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAhBW,QAAA,iBAAiB,qBAgB5B"}
1
+ {"version":3,"file":"duplicatable.mixin.js","sourceRoot":"","sources":["../../src/mixins/duplicatable.mixin.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yDAAwD;AAExD,6DAAsD;AAEtD,qDAAuD;AAEhD,MAAM,iBAAiB,GAAG,CAAsC,UAAa,EAAE,EAAE;IACtF,MAAM,YAAY,GAAG,IAAA,yBAAS,EAAC,yBAAY,CAAC,CAAC;IAG7C,IAAM,KAAK,GAAX,MAAM,KAAM,SAAQ,UAAU;KAS7B,CAAA;IADC;QAPC,IAAA,qBAAQ,EAAC;YACR,IAAI,EAAE,YAAY;YAClB,UAAU,EAAE;gBACV,UAAU,EAAE,WAAW;gBACvB,QAAQ,EAAE,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM;aACzD;SACF,CAAC;;2CACgB;IARd,KAAK;QADV,IAAA,kBAAK,GAAE;OACF,KAAK,CASV;IAED,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAhBW,QAAA,iBAAiB,qBAgB5B"}
@@ -1,9 +1,10 @@
1
1
  export * from './data-type.mixin';
2
+ export * from './duplicatable.mixin';
2
3
  export * from './object-search.mixin';
3
4
  export * from './principal.mixin';
4
5
  export * from './soft-delete.mixin';
5
6
  export * from './soft-persistent.mixin';
6
7
  export * from './text-search.mixin';
7
8
  export * from './tz.mixin';
8
- export * from './user-audit-v2.mixin';
9
- export * from './duplicatable.mixin';
9
+ export * from './user-audit.mixin';
10
+ export * from './vector.mixin';
@@ -15,13 +15,13 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./data-type.mixin"), exports);
18
+ __exportStar(require("./duplicatable.mixin"), exports);
18
19
  __exportStar(require("./object-search.mixin"), exports);
19
20
  __exportStar(require("./principal.mixin"), exports);
20
21
  __exportStar(require("./soft-delete.mixin"), exports);
21
22
  __exportStar(require("./soft-persistent.mixin"), exports);
22
23
  __exportStar(require("./text-search.mixin"), exports);
23
24
  __exportStar(require("./tz.mixin"), exports);
24
- // export * from './user-audit.mixin';
25
- __exportStar(require("./user-audit-v2.mixin"), exports);
26
- __exportStar(require("./duplicatable.mixin"), exports);
25
+ __exportStar(require("./user-audit.mixin"), exports);
26
+ __exportStar(require("./vector.mixin"), exports);
27
27
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mixins/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oDAAkC;AAClC,wDAAsC;AACtC,oDAAkC;AAClC,sDAAoC;AACpC,0DAAwC;AACxC,sDAAoC;AACpC,6CAA2B;AAC3B,sCAAsC;AACtC,wDAAsC;AACtC,uDAAqC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mixins/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oDAAkC;AAClC,uDAAqC;AACrC,wDAAsC;AACtC,oDAAkC;AAClC,sDAAoC;AACpC,0DAAwC;AACxC,sDAAoC;AACpC,6CAA2B;AAC3B,qDAAmC;AACnC,iDAA+B"}
@@ -17,10 +17,11 @@ const TzMixin = (superClass) => {
17
17
  __decorate([
18
18
  (0, repository_1.property)({
19
19
  type: 'date',
20
- defaultFn: 'now',
21
20
  postgresql: {
22
21
  columnName: 'created_at',
23
22
  dataType: 'TIMESTAMPTZ',
23
+ default: 'NOW()',
24
+ nullable: 'NO',
24
25
  },
25
26
  }),
26
27
  __metadata("design:type", Date)
@@ -28,10 +29,11 @@ const TzMixin = (superClass) => {
28
29
  __decorate([
29
30
  (0, repository_1.property)({
30
31
  type: 'date',
31
- defaultFn: 'now',
32
32
  postgresql: {
33
33
  columnName: 'modified_at',
34
34
  dataType: 'TIMESTAMPTZ',
35
+ default: 'NOW()',
36
+ nullable: 'NO',
35
37
  },
36
38
  }),
37
39
  __metadata("design:type", Date)
@@ -1 +1 @@
1
- {"version":3,"file":"tz.mixin.js","sourceRoot":"","sources":["../../src/mixins/tz.mixin.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,qDAAwD;AAEjD,MAAM,OAAO,GAAG,CAAgC,UAAa,EAAE,EAAE;IACtE,MAAM,KAAM,SAAQ,UAAU;KAoB7B;IAXC;QARC,IAAA,qBAAQ,EAAC;YACR,IAAI,EAAE,MAAM;YACZ,SAAS,EAAE,KAAK;YAChB,UAAU,EAAE;gBACV,UAAU,EAAE,YAAY;gBACxB,QAAQ,EAAE,aAAa;aACxB;SACF,CAAC;kCACS,IAAI;4CAAC;IAUhB;QARC,IAAA,qBAAQ,EAAC;YACR,IAAI,EAAE,MAAM;YACZ,SAAS,EAAE,KAAK;YAChB,UAAU,EAAE;gBACV,UAAU,EAAE,aAAa;gBACzB,QAAQ,EAAE,aAAa;aACxB;SACF,CAAC;kCACU,IAAI;6CAAC;IAGnB,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAxBW,QAAA,OAAO,WAwBlB"}
1
+ {"version":3,"file":"tz.mixin.js","sourceRoot":"","sources":["../../src/mixins/tz.mixin.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,qDAAwD;AAEjD,MAAM,OAAO,GAAG,CAAgC,UAAa,EAAE,EAAE;IACtE,MAAM,KAAM,SAAQ,UAAU;KAsB7B;IAZC;QATC,IAAA,qBAAQ,EAAC;YACR,IAAI,EAAE,MAAM;YACZ,UAAU,EAAE;gBACV,UAAU,EAAE,YAAY;gBACxB,QAAQ,EAAE,aAAa;gBACvB,OAAO,EAAE,OAAO;gBAChB,QAAQ,EAAE,IAAI;aACf;SACF,CAAC;kCACS,IAAI;4CAAC;IAWhB;QATC,IAAA,qBAAQ,EAAC;YACR,IAAI,EAAE,MAAM;YACZ,UAAU,EAAE;gBACV,UAAU,EAAE,aAAa;gBACzB,QAAQ,EAAE,aAAa;gBACvB,OAAO,EAAE,OAAO;gBAChB,QAAQ,EAAE,IAAI;aACf;SACF,CAAC;kCACU,IAAI;6CAAC;IAGnB,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AA1BW,QAAA,OAAO,WA0BlB"}
@@ -1,10 +1,14 @@
1
+ import { BaseTzEntity } from '../base/models';
1
2
  import { IdType } from '../common/types';
2
3
  import { MixinTarget } from '@loopback/core';
3
- import { Entity } from '@loopback/repository';
4
- /**
5
- * @deprecated The method will soon deleted
6
- */
7
- export declare const UserAuditMixinDeprecated: <E extends MixinTarget<Entity>>(superClass: E) => {
4
+ import { Entity, EntityResolver } from '@loopback/repository';
5
+ export declare const UserAuditMixin: <E extends MixinTarget<Entity>, C extends BaseTzEntity = BaseTzEntity, M extends BaseTzEntity = BaseTzEntity>(superClass: E, opts?: {
6
+ useRelation: boolean;
7
+ creatorResolver: EntityResolver<C>;
8
+ creatorKeyTo?: string;
9
+ modifierResolver: EntityResolver<M>;
10
+ modifierKeyTo?: string;
11
+ }) => {
8
12
  new (...args: any[]): {
9
13
  createdBy: IdType;
10
14
  modifiedBy: IdType;
@@ -9,37 +9,73 @@ var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.UserAuditMixinDeprecated = void 0;
12
+ exports.UserAuditMixin = void 0;
13
+ const utilities_1 = require("../utilities");
13
14
  const repository_1 = require("@loopback/repository");
14
- /**
15
- * @deprecated The method will soon deleted
16
- */
17
- const UserAuditMixinDeprecated = (superClass) => {
18
- class Mixed extends superClass {
15
+ const UserAuditMixin = (superClass, opts) => {
16
+ const { useRelation = false, creatorResolver, creatorKeyTo, modifierResolver, modifierKeyTo, } = opts !== null && opts !== void 0 ? opts : {};
17
+ if (!useRelation) {
18
+ let Mixed = class Mixed extends superClass {
19
+ };
20
+ __decorate([
21
+ (0, repository_1.property)({
22
+ type: 'number',
23
+ postgresql: {
24
+ columnName: 'created_by',
25
+ dataType: 'integer',
26
+ },
27
+ // hidden: true,
28
+ }),
29
+ __metadata("design:type", Object)
30
+ ], Mixed.prototype, "createdBy", void 0);
31
+ __decorate([
32
+ (0, repository_1.property)({
33
+ type: 'number',
34
+ postgresql: {
35
+ columnName: 'modified_by',
36
+ dataType: 'integer',
37
+ },
38
+ // hidden: true,
39
+ }),
40
+ __metadata("design:type", Object)
41
+ ], Mixed.prototype, "modifiedBy", void 0);
42
+ Mixed = __decorate([
43
+ (0, repository_1.model)()
44
+ ], Mixed);
45
+ return Mixed;
19
46
  }
47
+ if (useRelation && !creatorResolver) {
48
+ throw (0, utilities_1.getError)({ message: '[UserAuditMixin] Invalid creatorResolver' });
49
+ }
50
+ if (useRelation && !modifierResolver) {
51
+ throw (0, utilities_1.getError)({ message: '[UserAuditMixin] Invalid modifierResolver' });
52
+ }
53
+ let Mixed = class Mixed extends superClass {
54
+ };
20
55
  __decorate([
21
- (0, repository_1.property)({
56
+ (0, repository_1.belongsTo)(creatorResolver, { keyFrom: 'createdBy', keyTo: creatorKeyTo, name: 'creator' }, {
22
57
  type: 'number',
23
58
  postgresql: {
24
59
  columnName: 'created_by',
25
60
  dataType: 'integer',
26
61
  },
27
- // hidden: true,
28
62
  }),
29
63
  __metadata("design:type", Object)
30
64
  ], Mixed.prototype, "createdBy", void 0);
31
65
  __decorate([
32
- (0, repository_1.property)({
66
+ (0, repository_1.belongsTo)(creatorResolver, { keyFrom: 'modifiedBy', keyTo: modifierKeyTo, name: 'modifier' }, {
33
67
  type: 'number',
34
68
  postgresql: {
35
69
  columnName: 'modified_by',
36
70
  dataType: 'integer',
37
71
  },
38
- // hidden: true,
39
72
  }),
40
73
  __metadata("design:type", Object)
41
74
  ], Mixed.prototype, "modifiedBy", void 0);
75
+ Mixed = __decorate([
76
+ (0, repository_1.model)()
77
+ ], Mixed);
42
78
  return Mixed;
43
79
  };
44
- exports.UserAuditMixinDeprecated = UserAuditMixinDeprecated;
80
+ exports.UserAuditMixin = UserAuditMixin;
45
81
  //# sourceMappingURL=user-audit.mixin.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"user-audit.mixin.js","sourceRoot":"","sources":["../../src/mixins/user-audit.mixin.ts"],"names":[],"mappings":";;;;;;;;;;;;AAEA,qDAAwD;AAExD;;GAEG;AACI,MAAM,wBAAwB,GAAG,CAAgC,UAAa,EAAE,EAAE;IACvF,MAAM,KAAM,SAAQ,UAAU;KAoB7B;IAXC;QARC,IAAA,qBAAQ,EAAC;YACR,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,UAAU,EAAE,YAAY;gBACxB,QAAQ,EAAE,SAAS;aACpB;YACD,gBAAgB;SACjB,CAAC;;4CACgB;IAUlB;QARC,IAAA,qBAAQ,EAAC;YACR,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,UAAU,EAAE,aAAa;gBACzB,QAAQ,EAAE,SAAS;aACpB;YACD,gBAAgB;SACjB,CAAC;;6CACiB;IAGrB,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAxBW,QAAA,wBAAwB,4BAwBnC"}
1
+ {"version":3,"file":"user-audit.mixin.js","sourceRoot":"","sources":["../../src/mixins/user-audit.mixin.ts"],"names":[],"mappings":";;;;;;;;;;;;AAEA,2CAAuC;AAEvC,qDAA0F;AAEnF,MAAM,cAAc,GAAG,CAK5B,UAAa,EACb,IAMC,EACD,EAAE;IACF,MAAM,EACJ,WAAW,GAAG,KAAK,EACnB,eAAe,EACf,YAAY,EACZ,gBAAgB,EAChB,aAAa,GACd,GAAG,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,EAAE,CAAC;IAEf,IAAI,CAAC,WAAW,EAAE,CAAC;QAEjB,IAAM,KAAK,GAAX,MAAM,KAAM,SAAQ,UAAU;SAoB7B,CAAA;QAXC;YARC,IAAA,qBAAQ,EAAC;gBACR,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,UAAU,EAAE,YAAY;oBACxB,QAAQ,EAAE,SAAS;iBACpB;gBACD,gBAAgB;aACjB,CAAC;;gDACgB;QAUlB;YARC,IAAA,qBAAQ,EAAC;gBACR,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,UAAU,EAAE,aAAa;oBACzB,QAAQ,EAAE,SAAS;iBACpB;gBACD,gBAAgB;aACjB,CAAC;;iDACiB;QAnBf,KAAK;YADV,IAAA,kBAAK,GAAE;WACF,KAAK,CAoBV;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,WAAW,IAAI,CAAC,eAAe,EAAE,CAAC;QACpC,MAAM,IAAA,oBAAQ,EAAC,EAAE,OAAO,EAAE,0CAA0C,EAAE,CAAC,CAAC;IAC1E,CAAC;IAED,IAAI,WAAW,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACrC,MAAM,IAAA,oBAAQ,EAAC,EAAE,OAAO,EAAE,2CAA2C,EAAE,CAAC,CAAC;IAC3E,CAAC;IAGD,IAAM,KAAK,GAAX,MAAM,KAAM,SAAQ,UAAU;KA0B7B,CAAA;IAdC;QAXC,IAAA,sBAAS,EACR,eAAgB,EAChB,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE,EAC9D;YACE,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,UAAU,EAAE,YAAY;gBACxB,QAAQ,EAAE,SAAS;aACpB;SACF,CACF;;4CACiB;IAalB;QAXC,IAAA,sBAAS,EACR,eAAgB,EAChB,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU,EAAE,EACjE;YACE,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,UAAU,EAAE,aAAa;gBACzB,QAAQ,EAAE,SAAS;aACpB;SACF,CACF;;6CACkB;IAzBf,KAAK;QADV,IAAA,kBAAK,GAAE;OACF,KAAK,CA0BV;IAED,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAvFW,QAAA,cAAc,kBAuFzB"}
@@ -0,0 +1,22 @@
1
+ import { MixinTarget } from '@loopback/core';
2
+ import { Entity } from '@loopback/repository';
3
+ export declare const VectorMixin: <E extends MixinTarget<Entity>, EmbeddingType = Array<number>, MetadataType = any, DetailType = any>(superClass: E, options: {
4
+ uuid?: {
5
+ columnName: string;
6
+ };
7
+ embedding: {
8
+ columnName?: string;
9
+ vectorSize: number;
10
+ };
11
+ }) => {
12
+ new (...args: any[]): {
13
+ uuid: string;
14
+ embedding?: EmbeddingType;
15
+ metadata?: MetadataType;
16
+ details?: DetailType;
17
+ getId: () => any;
18
+ getIdObject: () => Object;
19
+ toJSON: () => Object;
20
+ toObject: (options?: import("@loopback/repository").Options) => Object;
21
+ };
22
+ } & E;