mvc-common-toolkit 1.43.10 → 1.43.11
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/dist/src/constants.d.ts +42 -0
- package/dist/src/constants.js +50 -0
- package/dist/src/constants.js.map +1 -0
- package/dist/src/gateways/alibaba-cloud-gateway.d.ts +30 -0
- package/dist/src/gateways/alibaba-cloud-gateway.js +120 -0
- package/dist/src/gateways/alibaba-cloud-gateway.js.map +1 -0
- package/dist/src/gateways/http-audit-gateway.d.ts +20 -0
- package/dist/src/gateways/http-audit-gateway.js +76 -0
- package/dist/src/gateways/http-audit-gateway.js.map +1 -0
- package/dist/src/gateways/index.d.ts +5 -0
- package/dist/src/gateways/index.js +22 -0
- package/dist/src/gateways/index.js.map +1 -0
- package/dist/src/gateways/internal-auth-gateway.d.ts +8 -0
- package/dist/src/gateways/internal-auth-gateway.js +40 -0
- package/dist/src/gateways/internal-auth-gateway.js.map +1 -0
- package/dist/src/gateways/stdout-audit-gateway.d.ts +7 -0
- package/dist/src/gateways/stdout-audit-gateway.js +25 -0
- package/dist/src/gateways/stdout-audit-gateway.js.map +1 -0
- package/dist/src/gateways/webhook-audit-gateway.d.ts +14 -0
- package/dist/src/gateways/webhook-audit-gateway.js +27 -0
- package/dist/src/gateways/webhook-audit-gateway.js.map +1 -0
- package/dist/src/interfaces.d.ts +218 -0
- package/dist/src/interfaces.js +3 -0
- package/dist/src/interfaces.js.map +1 -0
- package/dist/src/models/audit-log.d.ts +77 -0
- package/dist/src/models/audit-log.js +92 -0
- package/dist/src/models/audit-log.js.map +1 -0
- package/dist/src/models/index.d.ts +1 -0
- package/dist/src/models/index.js +18 -0
- package/dist/src/models/index.js.map +1 -0
- package/dist/src/pkg/array-helper.d.ts +1 -0
- package/dist/src/pkg/array-helper.js +12 -0
- package/dist/src/pkg/array-helper.js.map +1 -0
- package/dist/src/pkg/bcrypt-helper.d.ts +2 -0
- package/dist/src/pkg/bcrypt-helper.js +36 -0
- package/dist/src/pkg/bcrypt-helper.js.map +1 -0
- package/dist/src/pkg/crypto-helper.d.ts +2 -0
- package/dist/src/pkg/crypto-helper.js +16 -0
- package/dist/src/pkg/crypto-helper.js.map +1 -0
- package/dist/src/pkg/encryption-helper.d.ts +18 -0
- package/dist/src/pkg/encryption-helper.js +89 -0
- package/dist/src/pkg/encryption-helper.js.map +1 -0
- package/dist/src/pkg/encryption-helper.spec.d.ts +1 -0
- package/dist/src/pkg/encryption-helper.spec.js +238 -0
- package/dist/src/pkg/encryption-helper.spec.js.map +1 -0
- package/dist/src/pkg/filter-helper.d.ts +2 -0
- package/dist/src/pkg/filter-helper.js +102 -0
- package/dist/src/pkg/filter-helper.js.map +1 -0
- package/dist/src/pkg/filter-helper.spec.d.ts +1 -0
- package/dist/src/pkg/filter-helper.spec.js +94 -0
- package/dist/src/pkg/filter-helper.spec.js.map +1 -0
- package/dist/src/pkg/geoip-helper.d.ts +2 -0
- package/dist/src/pkg/geoip-helper.js +32 -0
- package/dist/src/pkg/geoip-helper.js.map +1 -0
- package/dist/src/pkg/hash-helper.d.ts +1 -0
- package/dist/src/pkg/hash-helper.js +37 -0
- package/dist/src/pkg/hash-helper.js.map +1 -0
- package/dist/src/pkg/http-request-utils.d.ts +4 -0
- package/dist/src/pkg/http-request-utils.js +55 -0
- package/dist/src/pkg/http-request-utils.js.map +1 -0
- package/dist/src/pkg/index.d.ts +18 -0
- package/dist/src/pkg/index.js +45 -0
- package/dist/src/pkg/index.js.map +1 -0
- package/dist/src/pkg/key-helper.d.ts +2 -0
- package/dist/src/pkg/key-helper.js +20 -0
- package/dist/src/pkg/key-helper.js.map +1 -0
- package/dist/src/pkg/logger.d.ts +9 -0
- package/dist/src/pkg/logger.js +23 -0
- package/dist/src/pkg/logger.js.map +1 -0
- package/dist/src/pkg/object-helper.d.ts +2 -0
- package/dist/src/pkg/object-helper.js +37 -0
- package/dist/src/pkg/object-helper.js.map +1 -0
- package/dist/src/pkg/paginated-cache-registry.d.ts +8 -0
- package/dist/src/pkg/paginated-cache-registry.js +23 -0
- package/dist/src/pkg/paginated-cache-registry.js.map +1 -0
- package/dist/src/pkg/query-helper.d.ts +3 -0
- package/dist/src/pkg/query-helper.js +60 -0
- package/dist/src/pkg/query-helper.js.map +1 -0
- package/dist/src/pkg/referral-tree-utils.d.ts +33 -0
- package/dist/src/pkg/referral-tree-utils.js +71 -0
- package/dist/src/pkg/referral-tree-utils.js.map +1 -0
- package/dist/src/pkg/scripts/index.d.ts +1 -0
- package/dist/src/pkg/scripts/index.js +28 -0
- package/dist/src/pkg/scripts/index.js.map +1 -0
- package/dist/src/pkg/scripts/lua.d.ts +10 -0
- package/dist/src/pkg/scripts/lua.js +109 -0
- package/dist/src/pkg/scripts/lua.js.map +1 -0
- package/dist/src/pkg/sort-helper.d.ts +3 -0
- package/dist/src/pkg/sort-helper.js +18 -0
- package/dist/src/pkg/sort-helper.js.map +1 -0
- package/dist/src/pkg/string-utils.d.ts +10 -0
- package/dist/src/pkg/string-utils.js +79 -0
- package/dist/src/pkg/string-utils.js.map +1 -0
- package/dist/src/pkg/task-helper.d.ts +2 -0
- package/dist/src/pkg/task-helper.js +30 -0
- package/dist/src/pkg/task-helper.js.map +1 -0
- package/dist/src/pkg/workflow/delayed-task-registry.d.ts +10 -0
- package/dist/src/pkg/workflow/delayed-task-registry.js +67 -0
- package/dist/src/pkg/workflow/delayed-task-registry.js.map +1 -0
- package/dist/src/pkg/workflow/delayed-task.d.ts +18 -0
- package/dist/src/pkg/workflow/delayed-task.js +95 -0
- package/dist/src/pkg/workflow/delayed-task.js.map +1 -0
- package/dist/src/pkg/workflow/index.d.ts +5 -0
- package/dist/src/pkg/workflow/index.js +22 -0
- package/dist/src/pkg/workflow/index.js.map +1 -0
- package/dist/src/pkg/workflow/processing-milestone.d.ts +18 -0
- package/dist/src/pkg/workflow/processing-milestone.js +39 -0
- package/dist/src/pkg/workflow/processing-milestone.js.map +1 -0
- package/dist/src/pkg/workflow/retry-task.d.ts +24 -0
- package/dist/src/pkg/workflow/retry-task.js +89 -0
- package/dist/src/pkg/workflow/retry-task.js.map +1 -0
- package/dist/src/pkg/workflow/retry-task.spec.d.ts +1 -0
- package/dist/src/pkg/workflow/retry-task.spec.js +145 -0
- package/dist/src/pkg/workflow/retry-task.spec.js.map +1 -0
- package/dist/src/pkg/workflow/sync-taskqueue.d.ts +32 -0
- package/dist/src/pkg/workflow/sync-taskqueue.js +108 -0
- package/dist/src/pkg/workflow/sync-taskqueue.js.map +1 -0
- package/dist/src/pkg/worksheet.utils.d.ts +27 -0
- package/dist/src/pkg/worksheet.utils.js +116 -0
- package/dist/src/pkg/worksheet.utils.js.map +1 -0
- package/dist/src/services/audit-service.d.ts +7 -0
- package/dist/src/services/audit-service.js +32 -0
- package/dist/src/services/audit-service.js.map +1 -0
- package/dist/src/services/excel.service.d.ts +25 -0
- package/dist/src/services/excel.service.js +95 -0
- package/dist/src/services/excel.service.js.map +1 -0
- package/dist/src/services/http-service.d.ts +7 -0
- package/dist/src/services/http-service.js +67 -0
- package/dist/src/services/http-service.js.map +1 -0
- package/dist/src/services/index.d.ts +8 -0
- package/dist/src/services/index.js +25 -0
- package/dist/src/services/index.js.map +1 -0
- package/dist/src/services/kafka-service.d.ts +15 -0
- package/dist/src/services/kafka-service.js +68 -0
- package/dist/src/services/kafka-service.js.map +1 -0
- package/dist/src/services/mailer-service.d.ts +15 -0
- package/dist/src/services/mailer-service.js +44 -0
- package/dist/src/services/mailer-service.js.map +1 -0
- package/dist/src/services/paginated-cache.d.ts +16 -0
- package/dist/src/services/paginated-cache.js +115 -0
- package/dist/src/services/paginated-cache.js.map +1 -0
- package/dist/src/services/paginated-cache.spec.d.ts +1 -0
- package/dist/src/services/paginated-cache.spec.js +284 -0
- package/dist/src/services/paginated-cache.spec.js.map +1 -0
- package/dist/src/services/redis-service.d.ts +33 -0
- package/dist/src/services/redis-service.js +230 -0
- package/dist/src/services/redis-service.js.map +1 -0
- package/dist/src/services/security-service.d.ts +11 -0
- package/dist/src/services/security-service.js +68 -0
- package/dist/src/services/security-service.js.map +1 -0
- package/package.json +1 -1
- package/src/constants.ts +47 -0
- package/src/gateways/alibaba-cloud-gateway.ts +127 -0
- package/src/gateways/http-audit-gateway.ts +104 -0
- package/src/gateways/index.ts +5 -0
- package/src/gateways/internal-auth-gateway.ts +42 -0
- package/src/gateways/stdout-audit-gateway.ts +23 -0
- package/src/gateways/webhook-audit-gateway.ts +33 -0
- package/src/interfaces.ts +304 -0
- package/src/models/audit-log.ts +126 -0
- package/src/models/index.ts +1 -0
- package/src/pkg/array-helper.ts +7 -0
- package/src/pkg/bcrypt-helper.ts +9 -0
- package/src/pkg/crypto-helper.ts +18 -0
- package/src/pkg/encryption-helper.spec.ts +423 -0
- package/src/pkg/encryption-helper.ts +155 -0
- package/src/pkg/filter-helper.spec.ts +105 -0
- package/src/pkg/filter-helper.ts +139 -0
- package/src/pkg/geoip-helper.ts +5 -0
- package/src/pkg/hash-helper.ts +12 -0
- package/src/pkg/http-request-utils.ts +75 -0
- package/src/pkg/index.ts +18 -0
- package/src/pkg/key-helper.ts +20 -0
- package/src/pkg/logger.ts +23 -0
- package/src/pkg/object-helper.ts +42 -0
- package/src/pkg/paginated-cache-registry.ts +25 -0
- package/src/pkg/query-helper.ts +79 -0
- package/src/pkg/referral-tree-utils.ts +165 -0
- package/src/pkg/scripts/index.ts +1 -0
- package/src/pkg/scripts/lua.ts +112 -0
- package/src/pkg/sort-helper.ts +19 -0
- package/src/pkg/string-utils.ts +104 -0
- package/src/pkg/task-helper.ts +25 -0
- package/src/pkg/workflow/delayed-task-registry.ts +54 -0
- package/src/pkg/workflow/delayed-task.ts +106 -0
- package/src/pkg/workflow/index.ts +5 -0
- package/src/pkg/workflow/processing-milestone.ts +54 -0
- package/src/pkg/workflow/retry-task.spec.ts +194 -0
- package/src/pkg/workflow/retry-task.ts +119 -0
- package/src/pkg/workflow/sync-taskqueue.ts +118 -0
- package/src/pkg/worksheet.utils.ts +178 -0
- package/src/services/audit-service.ts +22 -0
- package/src/services/excel.service.ts +103 -0
- package/src/services/http-service.ts +71 -0
- package/src/services/index.ts +8 -0
- package/src/services/kafka-service.ts +81 -0
- package/src/services/mailer-service.ts +43 -0
- package/src/services/paginated-cache.spec.ts +519 -0
- package/src/services/paginated-cache.ts +122 -0
- package/src/services/redis-service.ts +238 -0
- package/src/services/security-service.ts +80 -0
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export * as bcryptHelper from "./bcrypt-helper";
|
|
2
|
+
export * as httpRequestUtils from "./http-request-utils";
|
|
3
|
+
export * as objectHelper from "./object-helper";
|
|
4
|
+
export * as queryHelper from "./query-helper";
|
|
5
|
+
export * as stringUtils from "./string-utils";
|
|
6
|
+
export * as worksheetUtils from "./worksheet.utils";
|
|
7
|
+
export * as cryptoHelpers from "./crypto-helper";
|
|
8
|
+
export * as sortHelpers from "./sort-helper";
|
|
9
|
+
export * as filterHelpers from "./filter-helper";
|
|
10
|
+
export * as loggers from "./logger";
|
|
11
|
+
export * as workflows from "./workflow";
|
|
12
|
+
export * as geoipHelpers from "./geoip-helper";
|
|
13
|
+
export * as arrayHelpers from "./array-helper";
|
|
14
|
+
export * as referralTreeHelpers from "./referral-tree-utils";
|
|
15
|
+
export * as timeoutHelper from "./task-helper";
|
|
16
|
+
export * as cacheHelper from "./paginated-cache-registry";
|
|
17
|
+
export * as encryptionHelper from "./encryption-helper";
|
|
18
|
+
export * as scripts from "./scripts";
|
|
@@ -0,0 +1,45 @@
|
|
|
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.scripts = exports.encryptionHelper = exports.cacheHelper = exports.timeoutHelper = exports.referralTreeHelpers = exports.arrayHelpers = exports.geoipHelpers = exports.workflows = exports.loggers = exports.filterHelpers = exports.sortHelpers = exports.cryptoHelpers = exports.worksheetUtils = exports.stringUtils = exports.queryHelper = exports.objectHelper = exports.httpRequestUtils = exports.bcryptHelper = void 0;
|
|
27
|
+
exports.bcryptHelper = __importStar(require("./bcrypt-helper"));
|
|
28
|
+
exports.httpRequestUtils = __importStar(require("./http-request-utils"));
|
|
29
|
+
exports.objectHelper = __importStar(require("./object-helper"));
|
|
30
|
+
exports.queryHelper = __importStar(require("./query-helper"));
|
|
31
|
+
exports.stringUtils = __importStar(require("./string-utils"));
|
|
32
|
+
exports.worksheetUtils = __importStar(require("./worksheet.utils"));
|
|
33
|
+
exports.cryptoHelpers = __importStar(require("./crypto-helper"));
|
|
34
|
+
exports.sortHelpers = __importStar(require("./sort-helper"));
|
|
35
|
+
exports.filterHelpers = __importStar(require("./filter-helper"));
|
|
36
|
+
exports.loggers = __importStar(require("./logger"));
|
|
37
|
+
exports.workflows = __importStar(require("./workflow"));
|
|
38
|
+
exports.geoipHelpers = __importStar(require("./geoip-helper"));
|
|
39
|
+
exports.arrayHelpers = __importStar(require("./array-helper"));
|
|
40
|
+
exports.referralTreeHelpers = __importStar(require("./referral-tree-utils"));
|
|
41
|
+
exports.timeoutHelper = __importStar(require("./task-helper"));
|
|
42
|
+
exports.cacheHelper = __importStar(require("./paginated-cache-registry"));
|
|
43
|
+
exports.encryptionHelper = __importStar(require("./encryption-helper"));
|
|
44
|
+
exports.scripts = __importStar(require("./scripts"));
|
|
45
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/pkg/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gEAAgD;AAChD,yEAAyD;AACzD,gEAAgD;AAChD,8DAA8C;AAC9C,8DAA8C;AAC9C,oEAAoD;AACpD,iEAAiD;AACjD,6DAA6C;AAC7C,iEAAiD;AACjD,oDAAoC;AACpC,wDAAwC;AACxC,+DAA+C;AAC/C,+DAA+C;AAC/C,6EAA6D;AAC7D,+DAA+C;AAC/C,0EAA0D;AAC1D,wEAAwD;AACxD,qDAAqC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getVersionCacheKeyForKey = exports.getVersionedCacheKey = void 0;
|
|
4
|
+
const versionPlaceholder = '_version';
|
|
5
|
+
const getVersionedCacheKey = (key, version) => {
|
|
6
|
+
if (key.includes(versionPlaceholder)) {
|
|
7
|
+
return key.replace(versionPlaceholder, version.toString());
|
|
8
|
+
}
|
|
9
|
+
return `${key}:version:${version}`;
|
|
10
|
+
};
|
|
11
|
+
exports.getVersionedCacheKey = getVersionedCacheKey;
|
|
12
|
+
const getVersionCacheKeyForKey = (key) => {
|
|
13
|
+
if (key.includes(versionPlaceholder)) {
|
|
14
|
+
const indexOfPlaceholder = key.indexOf(versionPlaceholder);
|
|
15
|
+
return key.substring(0, indexOfPlaceholder);
|
|
16
|
+
}
|
|
17
|
+
return `${key}:version`;
|
|
18
|
+
};
|
|
19
|
+
exports.getVersionCacheKeyForKey = getVersionCacheKeyForKey;
|
|
20
|
+
//# sourceMappingURL=key-helper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"key-helper.js","sourceRoot":"","sources":["../../../src/pkg/key-helper.ts"],"names":[],"mappings":";;;AAAA,MAAM,kBAAkB,GAAG,UAAU,CAAC;AAG/B,MAAM,oBAAoB,GAAG,CAAC,GAAW,EAAE,OAAe,EAAE,EAAE;IACnE,IAAI,GAAG,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE;QACpC,OAAO,GAAG,CAAC,OAAO,CAAC,kBAAkB,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;KAC5D;IAED,OAAO,GAAG,GAAG,YAAY,OAAO,EAAE,CAAC;AACrC,CAAC,CAAC;AANW,QAAA,oBAAoB,wBAM/B;AAEK,MAAM,wBAAwB,GAAG,CAAC,GAAW,EAAE,EAAE;IACtD,IAAI,GAAG,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE;QACpC,MAAM,kBAAkB,GAAG,GAAG,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;QAE3D,OAAO,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,kBAAkB,CAAC,CAAC;KAC7C;IAED,OAAO,GAAG,GAAG,UAAU,CAAC;AAC1B,CAAC,CAAC;AARW,QAAA,wBAAwB,4BAQnC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import pino from "pino";
|
|
2
|
+
import { Logger } from "../interfaces";
|
|
3
|
+
export declare class PinoLogger implements Logger {
|
|
4
|
+
protected _logger: pino.Logger;
|
|
5
|
+
constructor();
|
|
6
|
+
info(message: string, ...args: any[]): void;
|
|
7
|
+
error(message: string, ...args: any[]): void;
|
|
8
|
+
warn(message: string, ...args: any[]): void;
|
|
9
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.PinoLogger = void 0;
|
|
7
|
+
const pino_1 = __importDefault(require("pino"));
|
|
8
|
+
class PinoLogger {
|
|
9
|
+
constructor() {
|
|
10
|
+
this._logger = (0, pino_1.default)();
|
|
11
|
+
}
|
|
12
|
+
info(message, ...args) {
|
|
13
|
+
return this._logger.info(message, ...args);
|
|
14
|
+
}
|
|
15
|
+
error(message, ...args) {
|
|
16
|
+
return this._logger.error(message, ...args);
|
|
17
|
+
}
|
|
18
|
+
warn(message, ...args) {
|
|
19
|
+
return this._logger.warn(message, ...args);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
exports.PinoLogger = PinoLogger;
|
|
23
|
+
//# sourceMappingURL=logger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../src/pkg/logger.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAwB;AAIxB,MAAa,UAAU;IAGrB;QACE,IAAI,CAAC,OAAO,GAAG,IAAA,cAAI,GAAE,CAAC;IACxB,CAAC;IAEM,IAAI,CAAC,OAAe,EAAE,GAAG,IAAW;QACzC,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;IAC7C,CAAC;IAEM,KAAK,CAAC,OAAe,EAAE,GAAG,IAAW;QAC1C,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;IAC9C,CAAC;IAEM,IAAI,CAAC,OAAe,EAAE,GAAG,IAAW;QACzC,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;IAC7C,CAAC;CACF;AAlBD,gCAkBC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.tryParseStringIntoCorrectData = exports.removeUndefinedProps = void 0;
|
|
4
|
+
function removeUndefinedProps(data) {
|
|
5
|
+
const allKeys = Object.keys(data);
|
|
6
|
+
return allKeys.reduce((aggregated, current) => {
|
|
7
|
+
if (data[current] !== undefined) {
|
|
8
|
+
aggregated[current] = data[current];
|
|
9
|
+
}
|
|
10
|
+
return aggregated;
|
|
11
|
+
}, {});
|
|
12
|
+
}
|
|
13
|
+
exports.removeUndefinedProps = removeUndefinedProps;
|
|
14
|
+
const tryParseStringIntoCorrectData = (data) => {
|
|
15
|
+
if (!(data === null || data === void 0 ? void 0 : data.length)) {
|
|
16
|
+
return;
|
|
17
|
+
}
|
|
18
|
+
try {
|
|
19
|
+
if (data === "true") {
|
|
20
|
+
return true;
|
|
21
|
+
}
|
|
22
|
+
if (data === "false") {
|
|
23
|
+
return false;
|
|
24
|
+
}
|
|
25
|
+
const dataAsNumber = Number(data);
|
|
26
|
+
if (!Number.isNaN(dataAsNumber)) {
|
|
27
|
+
return dataAsNumber;
|
|
28
|
+
}
|
|
29
|
+
const parsedObject = JSON.parse(data);
|
|
30
|
+
return parsedObject;
|
|
31
|
+
}
|
|
32
|
+
catch (error) {
|
|
33
|
+
return data;
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
exports.tryParseStringIntoCorrectData = tryParseStringIntoCorrectData;
|
|
37
|
+
//# sourceMappingURL=object-helper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"object-helper.js","sourceRoot":"","sources":["../../../src/pkg/object-helper.ts"],"names":[],"mappings":";;;AAAA,SAAgB,oBAAoB,CAAC,IAAS;IAC5C,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAElC,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,OAAO,EAAE,EAAE;QAC5C,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,SAAS,EAAE;YAC/B,UAAU,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;SACrC;QAED,OAAO,UAAU,CAAC;IACpB,CAAC,EAAE,EAAE,CAAC,CAAC;AACT,CAAC;AAVD,oDAUC;AAEM,MAAM,6BAA6B,GAAG,CAAC,IAAY,EAAO,EAAE;IACjE,IAAI,CAAC,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,CAAA,EAAE;QACjB,OAAO;KACR;IAED,IAAI;QAEF,IAAI,IAAI,KAAK,MAAM,EAAE;YACnB,OAAO,IAAI,CAAC;SACb;QAED,IAAI,IAAI,KAAK,OAAO,EAAE;YACpB,OAAO,KAAK,CAAC;SACd;QAGD,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QAElC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE;YAC/B,OAAO,YAAY,CAAC;SACrB;QAGD,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAEtC,OAAO,YAAY,CAAC;KACrB;IAAC,OAAO,KAAK,EAAE;QACd,OAAO,IAAI,CAAC;KACb;AACH,CAAC,CAAC;AA7BW,QAAA,6BAA6B,iCA6BxC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { CacheService, IPaginatedDataCache } from "../interfaces";
|
|
2
|
+
export declare class PaginatedCacheRegistry {
|
|
3
|
+
protected cacheService: CacheService;
|
|
4
|
+
protected _registry: Map<string, IPaginatedDataCache<any>>;
|
|
5
|
+
constructor(cacheService: CacheService);
|
|
6
|
+
has(dataName: string): boolean;
|
|
7
|
+
getOrCreatePaginatedCache<T = any>(dataName: string): IPaginatedDataCache<T>;
|
|
8
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PaginatedCacheRegistry = void 0;
|
|
4
|
+
const paginated_cache_1 = require("../services/paginated-cache");
|
|
5
|
+
class PaginatedCacheRegistry {
|
|
6
|
+
constructor(cacheService) {
|
|
7
|
+
this.cacheService = cacheService;
|
|
8
|
+
this._registry = new Map();
|
|
9
|
+
}
|
|
10
|
+
has(dataName) {
|
|
11
|
+
return this._registry.has(dataName);
|
|
12
|
+
}
|
|
13
|
+
getOrCreatePaginatedCache(dataName) {
|
|
14
|
+
if (this._registry.has(dataName)) {
|
|
15
|
+
return this._registry.get(dataName);
|
|
16
|
+
}
|
|
17
|
+
const service = new paginated_cache_1.PaginatedDataCache(dataName, this.cacheService);
|
|
18
|
+
this._registry.set(dataName, service);
|
|
19
|
+
return service;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
exports.PaginatedCacheRegistry = PaginatedCacheRegistry;
|
|
23
|
+
//# sourceMappingURL=paginated-cache-registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"paginated-cache-registry.js","sourceRoot":"","sources":["../../../src/pkg/paginated-cache-registry.ts"],"names":[],"mappings":";;;AACA,iEAAiE;AAEjE,MAAa,sBAAsB;IAGjC,YAAsB,YAA0B;QAA1B,iBAAY,GAAZ,YAAY,CAAc;QAFtC,cAAS,GAAG,IAAI,GAAG,EAA+B,CAAC;IAEV,CAAC;IAE7C,GAAG,CAAC,QAAgB;QACzB,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACtC,CAAC;IAEM,yBAAyB,CAC9B,QAAgB;QAEhB,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;YAChC,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;SACrC;QAED,MAAM,OAAO,GAAG,IAAI,oCAAkB,CAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QACpE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAEtC,OAAO,OAAO,CAAC;IACjB,CAAC;CACF;AArBD,wDAqBC"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.parseFilter = exports.parseSort = void 0;
|
|
4
|
+
const constants_1 = require("../constants");
|
|
5
|
+
function parseSort(data) {
|
|
6
|
+
if (!data) {
|
|
7
|
+
return [];
|
|
8
|
+
}
|
|
9
|
+
const sortConditions = data.split(" ").map((item) => {
|
|
10
|
+
if (item[0] === "-") {
|
|
11
|
+
return {
|
|
12
|
+
columnName: item.slice(1, item.length - 1),
|
|
13
|
+
direction: "DESC",
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
return {
|
|
17
|
+
columnName: item,
|
|
18
|
+
direction: "ASC",
|
|
19
|
+
};
|
|
20
|
+
});
|
|
21
|
+
return sortConditions;
|
|
22
|
+
}
|
|
23
|
+
exports.parseSort = parseSort;
|
|
24
|
+
function parseFilter(field, filterData) {
|
|
25
|
+
if (!filterData) {
|
|
26
|
+
throw new Error("missing filter data");
|
|
27
|
+
}
|
|
28
|
+
const splittedData = filterData.split(":");
|
|
29
|
+
if (splittedData.length === 1) {
|
|
30
|
+
return {
|
|
31
|
+
field,
|
|
32
|
+
operator: constants_1.FILTER_OPERATOR.EQUAL,
|
|
33
|
+
value: splittedData[0],
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
if (splittedData.length === 2) {
|
|
37
|
+
const [operator, value] = splittedData;
|
|
38
|
+
if (!Object.keys(constants_1.FILTER_OPERATOR).includes(operator)) {
|
|
39
|
+
throw new Error(`invalid filter operator ${operator}`);
|
|
40
|
+
}
|
|
41
|
+
if (operator === constants_1.FILTER_OPERATOR.OR || operator === constants_1.FILTER_OPERATOR.AND) {
|
|
42
|
+
throw new Error("operator $or and $and are only for internal use");
|
|
43
|
+
}
|
|
44
|
+
if (operator === constants_1.FILTER_OPERATOR.IN ||
|
|
45
|
+
operator === constants_1.FILTER_OPERATOR.NOT_IN) {
|
|
46
|
+
return {
|
|
47
|
+
field,
|
|
48
|
+
operator: operator,
|
|
49
|
+
value: value.split(","),
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
return {
|
|
53
|
+
field,
|
|
54
|
+
operator: operator,
|
|
55
|
+
value,
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
exports.parseFilter = parseFilter;
|
|
60
|
+
//# sourceMappingURL=query-helper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"query-helper.js","sourceRoot":"","sources":["../../../src/pkg/query-helper.ts"],"names":[],"mappings":";;;AAAA,4CAA+C;AAQ/C,SAAgB,SAAS,CAAC,IAAY;IACpC,IAAI,CAAC,IAAI,EAAE;QACT,OAAO,EAAE,CAAC;KACX;IAED,MAAM,cAAc,GAAY,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QAC3D,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;YACnB,OAAO;gBACL,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;gBAC1C,SAAS,EAAE,MAAM;aAClB,CAAC;SACH;QAED,OAAO;YACL,UAAU,EAAE,IAAI;YAChB,SAAS,EAAE,KAAK;SACjB,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,OAAO,cAAc,CAAC;AACxB,CAAC;AApBD,8BAoBC;AAQD,SAAgB,WAAW,CAAC,KAAa,EAAE,UAAkB;IAC3D,IAAI,CAAC,UAAU,EAAE;QACf,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;KACxC;IAED,MAAM,YAAY,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC3C,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE;QAC7B,OAAO;YACL,KAAK;YACL,QAAQ,EAAE,2BAAe,CAAC,KAAK;YAC/B,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC;SACvB,CAAC;KACH;IAED,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE;QAC7B,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,YAAY,CAAC;QAEvC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,2BAAe,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;YACpD,MAAM,IAAI,KAAK,CAAC,2BAA2B,QAAQ,EAAE,CAAC,CAAC;SACxD;QAED,IAAI,QAAQ,KAAK,2BAAe,CAAC,EAAE,IAAI,QAAQ,KAAK,2BAAe,CAAC,GAAG,EAAE;YACvE,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;SACpE;QAED,IACE,QAAQ,KAAK,2BAAe,CAAC,EAAE;YAC/B,QAAQ,KAAK,2BAAe,CAAC,MAAM,EACnC;YACA,OAAO;gBACL,KAAK;gBACL,QAAQ,EAAE,QAA2B;gBACrC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;aACxB,CAAC;SACH;QAED,OAAO;YACL,KAAK;YACL,QAAQ,EAAE,QAA2B;YACrC,KAAK;SACN,CAAC;KACH;AACH,CAAC;AA1CD,kCA0CC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
interface UserConfig {
|
|
2
|
+
rootRefCode?: string;
|
|
3
|
+
password: string;
|
|
4
|
+
}
|
|
5
|
+
interface User {
|
|
6
|
+
parentRefCode: string;
|
|
7
|
+
refCode: string;
|
|
8
|
+
password: string;
|
|
9
|
+
email: string;
|
|
10
|
+
children: User[];
|
|
11
|
+
}
|
|
12
|
+
interface NormalizedUser {
|
|
13
|
+
parentRefCode: string;
|
|
14
|
+
refCode: string;
|
|
15
|
+
password: string;
|
|
16
|
+
email: string;
|
|
17
|
+
}
|
|
18
|
+
interface ReferralTreeConfig {
|
|
19
|
+
noOfLevels: number;
|
|
20
|
+
minChildPerNode: number;
|
|
21
|
+
maxChildPerNode: number;
|
|
22
|
+
mustHaveChildPerNode: number;
|
|
23
|
+
userConfig: UserConfig;
|
|
24
|
+
passwordHasher?: (password: string) => Promise<string>;
|
|
25
|
+
refCodeGenerator?: () => string;
|
|
26
|
+
addAdditionalData?: () => Promise<Record<string, any>>;
|
|
27
|
+
}
|
|
28
|
+
export declare const generateReferralTree: (data: ReferralTreeConfig) => Promise<{
|
|
29
|
+
rootUser: User;
|
|
30
|
+
totalUsersCount: number;
|
|
31
|
+
totalUsersToInsert: NormalizedUser[];
|
|
32
|
+
}>;
|
|
33
|
+
export {};
|
|
@@ -0,0 +1,71 @@
|
|
|
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
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.generateReferralTree = void 0;
|
|
13
|
+
const faker_1 = require("@faker-js/faker");
|
|
14
|
+
const _1 = require(".");
|
|
15
|
+
const defaultRefcodeGenerator = () => _1.stringUtils.generateRandomId().slice(10).toUpperCase();
|
|
16
|
+
const generateReferralTree = (data) => __awaiter(void 0, void 0, void 0, function* () {
|
|
17
|
+
const { maxChildPerNode, minChildPerNode, mustHaveChildPerNode, noOfLevels, userConfig, passwordHasher, refCodeGenerator, addAdditionalData = () => { }, } = data;
|
|
18
|
+
const hashedPassword = yield passwordHasher(userConfig.password);
|
|
19
|
+
const rootUser = yield genNewUser(null, {
|
|
20
|
+
hashedPassword,
|
|
21
|
+
additionalDataGenerator: addAdditionalData,
|
|
22
|
+
refCodeGenerator: refCodeGenerator || defaultRefcodeGenerator,
|
|
23
|
+
});
|
|
24
|
+
const totalUsersToInsert = [normalizeUser(rootUser)];
|
|
25
|
+
let currentLayerUsers = [rootUser];
|
|
26
|
+
let totalUsersCount = currentLayerUsers.length;
|
|
27
|
+
for (let currentLevel = 0; currentLevel < noOfLevels; currentLevel++) {
|
|
28
|
+
const allChildUserCreated = [];
|
|
29
|
+
const nodeSelectedAsRequired = currentLayerUsers[0];
|
|
30
|
+
for (let i = 0; i < mustHaveChildPerNode; i++) {
|
|
31
|
+
const newUser = yield genNewUser(nodeSelectedAsRequired.refCode, {
|
|
32
|
+
hashedPassword,
|
|
33
|
+
refCodeGenerator: refCodeGenerator || defaultRefcodeGenerator,
|
|
34
|
+
additionalDataGenerator: addAdditionalData,
|
|
35
|
+
});
|
|
36
|
+
allChildUserCreated.push(newUser);
|
|
37
|
+
nodeSelectedAsRequired.children.push(newUser);
|
|
38
|
+
}
|
|
39
|
+
yield Promise.all(currentLayerUsers.slice(1, currentLayerUsers.length).map((user) => __awaiter(void 0, void 0, void 0, function* () {
|
|
40
|
+
const noOfChildNodes = faker_1.faker.helpers.rangeToNumber({
|
|
41
|
+
min: minChildPerNode,
|
|
42
|
+
max: maxChildPerNode,
|
|
43
|
+
});
|
|
44
|
+
for (let i = 0; i < noOfChildNodes; i++) {
|
|
45
|
+
const newUser = yield genNewUser(user.refCode, {
|
|
46
|
+
hashedPassword,
|
|
47
|
+
refCodeGenerator: refCodeGenerator || defaultRefcodeGenerator,
|
|
48
|
+
additionalDataGenerator: addAdditionalData,
|
|
49
|
+
});
|
|
50
|
+
allChildUserCreated.push(newUser);
|
|
51
|
+
user.children.push(newUser);
|
|
52
|
+
}
|
|
53
|
+
})));
|
|
54
|
+
const normalizedUsers = allChildUserCreated.map(normalizeUser);
|
|
55
|
+
totalUsersToInsert.push(...normalizedUsers);
|
|
56
|
+
currentLayerUsers = allChildUserCreated;
|
|
57
|
+
totalUsersCount += currentLayerUsers.length;
|
|
58
|
+
}
|
|
59
|
+
return { rootUser, totalUsersCount, totalUsersToInsert };
|
|
60
|
+
});
|
|
61
|
+
exports.generateReferralTree = generateReferralTree;
|
|
62
|
+
const normalizeUser = (user) => {
|
|
63
|
+
const cloned = JSON.parse(JSON.stringify(user));
|
|
64
|
+
delete cloned.children;
|
|
65
|
+
return cloned;
|
|
66
|
+
};
|
|
67
|
+
const genNewUser = (parentRefCode, { hashedPassword, refCodeGenerator, additionalDataGenerator }) => __awaiter(void 0, void 0, void 0, function* () {
|
|
68
|
+
const additionalData = yield additionalDataGenerator();
|
|
69
|
+
return Object.assign({ parentRefCode, password: hashedPassword, email: faker_1.faker.internet.email().toLowerCase(), children: [], refCode: refCodeGenerator() }, additionalData);
|
|
70
|
+
});
|
|
71
|
+
//# sourceMappingURL=referral-tree-utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"referral-tree-utils.js","sourceRoot":"","sources":["../../../src/pkg/referral-tree-utils.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAAwC;AAExC,wBAAgC;AAiChC,MAAM,uBAAuB,GAAG,GAAG,EAAE,CACnC,cAAW,CAAC,gBAAgB,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;AAElD,MAAM,oBAAoB,GAAG,CAAO,IAAwB,EAAE,EAAE;IACrE,MAAM,EACJ,eAAe,EACf,eAAe,EACf,oBAAoB,EACpB,UAAU,EACV,UAAU,EACV,cAAc,EACd,gBAAgB,EAChB,iBAAiB,GAAG,GAAG,EAAE,GAAE,CAAC,GAC7B,GAAG,IAAI,CAAC;IAET,MAAM,cAAc,GAAG,MAAM,cAAc,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IAEjE,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,IAAI,EAAE;QACtC,cAAc;QACd,uBAAuB,EAAE,iBAAiB;QAC1C,gBAAgB,EAAE,gBAAgB,IAAI,uBAAuB;KAC9D,CAAC,CAAC;IAEH,MAAM,kBAAkB,GAAqB,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEvE,IAAI,iBAAiB,GAAW,CAAC,QAAQ,CAAC,CAAC;IAC3C,IAAI,eAAe,GAAG,iBAAiB,CAAC,MAAM,CAAC;IAE/C,KAAK,IAAI,YAAY,GAAG,CAAC,EAAE,YAAY,GAAG,UAAU,EAAE,YAAY,EAAE,EAAE;QACpE,MAAM,mBAAmB,GAAW,EAAE,CAAC;QAGvC,MAAM,sBAAsB,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC;QACpD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,oBAAoB,EAAE,CAAC,EAAE,EAAE;YAC7C,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,sBAAsB,CAAC,OAAO,EAAE;gBAC/D,cAAc;gBACd,gBAAgB,EAAE,gBAAgB,IAAI,uBAAuB;gBAC7D,uBAAuB,EAAE,iBAAiB;aAC3C,CAAC,CAAC;YAEH,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAClC,sBAAsB,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SAC/C;QAID,MAAM,OAAO,CAAC,GAAG,CACf,iBAAiB,CAAC,KAAK,CAAC,CAAC,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAO,IAAI,EAAE,EAAE;YACtE,MAAM,cAAc,GAAG,aAAK,CAAC,OAAO,CAAC,aAAa,CAAC;gBACjD,GAAG,EAAE,eAAe;gBACpB,GAAG,EAAE,eAAe;aACrB,CAAC,CAAC;YAEH,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,EAAE,CAAC,EAAE,EAAE;gBACvC,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE;oBAC7C,cAAc;oBACd,gBAAgB,EAAE,gBAAgB,IAAI,uBAAuB;oBAC7D,uBAAuB,EAAE,iBAAiB;iBAC3C,CAAC,CAAC;gBAEH,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAClC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aAC7B;QACH,CAAC,CAAA,CAAC,CACH,CAAC;QAGF,MAAM,eAAe,GACnB,mBAAmB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAEzC,kBAAkB,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,CAAC;QAC5C,iBAAiB,GAAG,mBAAmB,CAAC;QACxC,eAAe,IAAI,iBAAiB,CAAC,MAAM,CAAC;KAC7C;IAED,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,kBAAkB,EAAE,CAAC;AAC3D,CAAC,CAAA,CAAC;AAzEW,QAAA,oBAAoB,wBAyE/B;AAEF,MAAM,aAAa,GAAG,CAAC,IAAU,EAAE,EAAE;IACnC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IAChD,OAAO,MAAM,CAAC,QAAQ,CAAC;IAEvB,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF,MAAM,UAAU,GAAG,CACjB,aAAqB,EACrB,EAAE,cAAc,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,EAC9C,EAAE;IACjB,MAAM,cAAc,GAAG,MAAM,uBAAuB,EAAE,CAAC;IAEvD,uBACE,aAAa,EACb,QAAQ,EAAE,cAAc,EACxB,KAAK,EAAE,aAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,WAAW,EAAE,EAC3C,QAAQ,EAAE,EAAE,EACZ,OAAO,EAAE,gBAAgB,EAAE,IACxB,cAAc,EACjB;AACJ,CAAC,CAAA,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * as luaScripts from "./lua";
|
|
@@ -0,0 +1,28 @@
|
|
|
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.luaScripts = void 0;
|
|
27
|
+
exports.luaScripts = __importStar(require("./lua"));
|
|
28
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/pkg/scripts/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oDAAoC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export declare const IncrByAndSetTTLIfNotExists = "\nif redis.call(\"EXISTS\", KEYS[1]) == 0 then\n redis.call(\"INCRBY\", KEYS[1], ARGV[1])\n redis.call(\"EXPIRE\", KEYS[1], ARGV[2])\nend\n\nreturn redis.call(\"GET\", KEYS[1])\n";
|
|
2
|
+
export declare const IncrByAndEnsureTTLIsSet = "\nlocal inc = tonumber(ARGV[1])\nlocal ttl = tonumber(ARGV[2])\n\nredis.call(\"INCRBY\", KEYS[1], inc)\n\nif redis.call(\"TTL\", KEYS[1]) == -1 then\n redis.call(\"EXPIRE\", KEYS[1], ttl)\nend\n\nreturn tonumber(redis.call(\"GET\", KEYS[1]))\n";
|
|
3
|
+
export declare const DecrByAndEnsureTTLIsSet = "\nlocal inc = tonumber(ARGV[1])\nlocal ttl = tonumber(ARGV[2])\n\nredis.call(\"DECRBY\", KEYS[1], inc)\n\nif redis.call(\"TTL\", KEYS[1]) == -1 then\n redis.call(\"EXPIRE\", KEYS[1], ttl)\nend\n\nreturn tonumber(redis.call(\"GET\", KEYS[1]))\n";
|
|
4
|
+
export declare const IncrByFloatAndEnsureTTLIsSet = "\nlocal inc = tonumber(ARGV[1])\nlocal ttl = tonumber(ARGV[2])\n\nredis.call(\"INCRBYFLOAT\", KEYS[1], inc)\n\nif redis.call(\"TTL\", KEYS[1]) == -1 then\n redis.call(\"EXPIRE\", KEYS[1], ttl)\nend\n\nreturn tonumber(redis.call(\"GET\", KEYS[1]))\n";
|
|
5
|
+
export declare const IncrByIfExists = "\nif redis.call(\"EXISTS\", KEYS[1]) == 1 then\n redis.call(\"INCRBY\", KEYS[1], ARGV[1])\nend\n\nreturn redis.call(\"GET\", KEYS[1])\n";
|
|
6
|
+
export declare const DecrbyAndSetTTLIfNotExists = "\nif redis.call(\"EXISTS\", KEYS[1]) == 0 then\n redis.call(\"DECRBY\", KEYS[1], ARGV[1])\n redis.call(\"EXPIRE\", KEYS[1], ARGV[2])\nend\n\nreturn redis.call(\"GET\", KEYS[1])\n";
|
|
7
|
+
export declare const DecrbyIfExists = "\nif redis.call(\"EXISTS\", KEYS[1]) == 1 then\n redis.call(\"DECRBY\", KEYS[1], ARGV[1])\nend\n\nreturn redis.call(\"GET\", KEYS[1])\n";
|
|
8
|
+
export declare const IncrByFloatAndSetTTLIfNotExists = "\nif redis.call(\"EXISTS\", KEYS[1]) == 0 then\n redis.call(\"INCRBYFLOAT\", KEYS[1], ARGV[1])\n redis.call(\"EXPIRE\", KEYS[1], ARGV[2])\nend\n\nreturn redis.call(\"GET\", KEYS[1])\n";
|
|
9
|
+
export declare const IncrByFloatIfExists = "\nif redis.call(\"EXISTS\", KEYS[1]) == 1 then\n redis.call(\"INCRBYFLOAT\", KEYS[1], ARGV[1])\nend\n\nreturn redis.call(\"GET\", KEYS[1])\n";
|
|
10
|
+
export declare const RefreshTTLIfBelowThreshold = "\n-- KEYS[1] : key to inspect\n-- ARGV[1] : threshold in seconds (e.g. 10)\n-- ARGV[2] : new TTL in seconds to set (e.g. 60)\n\nlocal ttl = redis.call(\"TTL\", KEYS[1])\n\n-- ttl == -2 \u2192 key doesn\u2019t exist\n-- ttl == -1 \u2192 key has no expiration\nif ttl == -2 then\n return -2 -- key absent\nend\n\nlocal threshold = tonumber(ARGV[1])\nlocal newTTL = tonumber(ARGV[2])\n\n-- If TTL is missing (-1) or below threshold, refresh it\nif ttl == -1 or ttl < threshold then\n redis.call(\"EXPIRE\", KEYS[1], newTTL)\n return newTTL -- return the TTL we just set\nend\n\nreturn ttl -- unchanged TTL\n";
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RefreshTTLIfBelowThreshold = exports.IncrByFloatIfExists = exports.IncrByFloatAndSetTTLIfNotExists = exports.DecrbyIfExists = exports.DecrbyAndSetTTLIfNotExists = exports.IncrByIfExists = exports.IncrByFloatAndEnsureTTLIsSet = exports.DecrByAndEnsureTTLIsSet = exports.IncrByAndEnsureTTLIsSet = exports.IncrByAndSetTTLIfNotExists = void 0;
|
|
4
|
+
exports.IncrByAndSetTTLIfNotExists = `
|
|
5
|
+
if redis.call("EXISTS", KEYS[1]) == 0 then
|
|
6
|
+
redis.call("INCRBY", KEYS[1], ARGV[1])
|
|
7
|
+
redis.call("EXPIRE", KEYS[1], ARGV[2])
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
return redis.call("GET", KEYS[1])
|
|
11
|
+
`;
|
|
12
|
+
exports.IncrByAndEnsureTTLIsSet = `
|
|
13
|
+
local inc = tonumber(ARGV[1])
|
|
14
|
+
local ttl = tonumber(ARGV[2])
|
|
15
|
+
|
|
16
|
+
redis.call("INCRBY", KEYS[1], inc)
|
|
17
|
+
|
|
18
|
+
if redis.call("TTL", KEYS[1]) == -1 then
|
|
19
|
+
redis.call("EXPIRE", KEYS[1], ttl)
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
return tonumber(redis.call("GET", KEYS[1]))
|
|
23
|
+
`;
|
|
24
|
+
exports.DecrByAndEnsureTTLIsSet = `
|
|
25
|
+
local inc = tonumber(ARGV[1])
|
|
26
|
+
local ttl = tonumber(ARGV[2])
|
|
27
|
+
|
|
28
|
+
redis.call("DECRBY", KEYS[1], inc)
|
|
29
|
+
|
|
30
|
+
if redis.call("TTL", KEYS[1]) == -1 then
|
|
31
|
+
redis.call("EXPIRE", KEYS[1], ttl)
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
return tonumber(redis.call("GET", KEYS[1]))
|
|
35
|
+
`;
|
|
36
|
+
exports.IncrByFloatAndEnsureTTLIsSet = `
|
|
37
|
+
local inc = tonumber(ARGV[1])
|
|
38
|
+
local ttl = tonumber(ARGV[2])
|
|
39
|
+
|
|
40
|
+
redis.call("INCRBYFLOAT", KEYS[1], inc)
|
|
41
|
+
|
|
42
|
+
if redis.call("TTL", KEYS[1]) == -1 then
|
|
43
|
+
redis.call("EXPIRE", KEYS[1], ttl)
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
return tonumber(redis.call("GET", KEYS[1]))
|
|
47
|
+
`;
|
|
48
|
+
exports.IncrByIfExists = `
|
|
49
|
+
if redis.call("EXISTS", KEYS[1]) == 1 then
|
|
50
|
+
redis.call("INCRBY", KEYS[1], ARGV[1])
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
return redis.call("GET", KEYS[1])
|
|
54
|
+
`;
|
|
55
|
+
exports.DecrbyAndSetTTLIfNotExists = `
|
|
56
|
+
if redis.call("EXISTS", KEYS[1]) == 0 then
|
|
57
|
+
redis.call("DECRBY", KEYS[1], ARGV[1])
|
|
58
|
+
redis.call("EXPIRE", KEYS[1], ARGV[2])
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
return redis.call("GET", KEYS[1])
|
|
62
|
+
`;
|
|
63
|
+
exports.DecrbyIfExists = `
|
|
64
|
+
if redis.call("EXISTS", KEYS[1]) == 1 then
|
|
65
|
+
redis.call("DECRBY", KEYS[1], ARGV[1])
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
return redis.call("GET", KEYS[1])
|
|
69
|
+
`;
|
|
70
|
+
exports.IncrByFloatAndSetTTLIfNotExists = `
|
|
71
|
+
if redis.call("EXISTS", KEYS[1]) == 0 then
|
|
72
|
+
redis.call("INCRBYFLOAT", KEYS[1], ARGV[1])
|
|
73
|
+
redis.call("EXPIRE", KEYS[1], ARGV[2])
|
|
74
|
+
end
|
|
75
|
+
|
|
76
|
+
return redis.call("GET", KEYS[1])
|
|
77
|
+
`;
|
|
78
|
+
exports.IncrByFloatIfExists = `
|
|
79
|
+
if redis.call("EXISTS", KEYS[1]) == 1 then
|
|
80
|
+
redis.call("INCRBYFLOAT", KEYS[1], ARGV[1])
|
|
81
|
+
end
|
|
82
|
+
|
|
83
|
+
return redis.call("GET", KEYS[1])
|
|
84
|
+
`;
|
|
85
|
+
exports.RefreshTTLIfBelowThreshold = `
|
|
86
|
+
-- KEYS[1] : key to inspect
|
|
87
|
+
-- ARGV[1] : threshold in seconds (e.g. 10)
|
|
88
|
+
-- ARGV[2] : new TTL in seconds to set (e.g. 60)
|
|
89
|
+
|
|
90
|
+
local ttl = redis.call("TTL", KEYS[1])
|
|
91
|
+
|
|
92
|
+
-- ttl == -2 → key doesn’t exist
|
|
93
|
+
-- ttl == -1 → key has no expiration
|
|
94
|
+
if ttl == -2 then
|
|
95
|
+
return -2 -- key absent
|
|
96
|
+
end
|
|
97
|
+
|
|
98
|
+
local threshold = tonumber(ARGV[1])
|
|
99
|
+
local newTTL = tonumber(ARGV[2])
|
|
100
|
+
|
|
101
|
+
-- If TTL is missing (-1) or below threshold, refresh it
|
|
102
|
+
if ttl == -1 or ttl < threshold then
|
|
103
|
+
redis.call("EXPIRE", KEYS[1], newTTL)
|
|
104
|
+
return newTTL -- return the TTL we just set
|
|
105
|
+
end
|
|
106
|
+
|
|
107
|
+
return ttl -- unchanged TTL
|
|
108
|
+
`;
|
|
109
|
+
//# sourceMappingURL=lua.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lua.js","sourceRoot":"","sources":["../../../../src/pkg/scripts/lua.ts"],"names":[],"mappings":";;;AAAa,QAAA,0BAA0B,GAAG;;;;;;;CAOzC,CAAC;AAEW,QAAA,uBAAuB,GAAG;;;;;;;;;;;CAWtC,CAAC;AACW,QAAA,uBAAuB,GAAG;;;;;;;;;;;CAWtC,CAAC;AACW,QAAA,4BAA4B,GAAG;;;;;;;;;;;CAW3C,CAAC;AAEW,QAAA,cAAc,GAAG;;;;;;CAM7B,CAAC;AAEW,QAAA,0BAA0B,GAAG;;;;;;;CAOzC,CAAC;AAEW,QAAA,cAAc,GAAG;;;;;;CAM7B,CAAC;AAEW,QAAA,+BAA+B,GAAG;;;;;;;CAO9C,CAAC;AAEW,QAAA,mBAAmB,GAAG;;;;;;CAMlC,CAAC;AAEW,QAAA,0BAA0B,GAAG;;;;;;;;;;;;;;;;;;;;;;;CAuBzC,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.toTypeOrmSort = exports.toMongooseSort = void 0;
|
|
4
|
+
const toMongooseSort = (sorts) => {
|
|
5
|
+
return sorts.reduce((agg, current) => {
|
|
6
|
+
agg[current.columnName] = current.direction === "ASC" ? 1 : -1;
|
|
7
|
+
return agg;
|
|
8
|
+
}, {});
|
|
9
|
+
};
|
|
10
|
+
exports.toMongooseSort = toMongooseSort;
|
|
11
|
+
const toTypeOrmSort = (sorts) => {
|
|
12
|
+
return sorts.reduce((agg, current) => {
|
|
13
|
+
agg[current.columnName] = current.direction;
|
|
14
|
+
return agg;
|
|
15
|
+
}, {});
|
|
16
|
+
};
|
|
17
|
+
exports.toTypeOrmSort = toTypeOrmSort;
|
|
18
|
+
//# sourceMappingURL=sort-helper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sort-helper.js","sourceRoot":"","sources":["../../../src/pkg/sort-helper.ts"],"names":[],"mappings":";;;AAEO,MAAM,cAAc,GAAG,CAAC,KAAc,EAA0B,EAAE;IACvE,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE;QACnC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAE/D,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,EAAE,CAAC,CAAC;AACT,CAAC,CAAC;AANW,QAAA,cAAc,kBAMzB;AAEK,MAAM,aAAa,GAAG,CAC3B,KAAc,EACkB,EAAE;IAClC,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE;QACnC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC;QAE5C,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,EAAE,CAAC,CAAC;AACT,CAAC,CAAC;AARW,QAAA,aAAa,iBAQxB"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export declare function generateRandomId(): string;
|
|
2
|
+
export declare function generatePassword(length?: number): string;
|
|
3
|
+
export declare function validatePasswordStrengthWithMessage(password: string): string;
|
|
4
|
+
type MaskRule = {
|
|
5
|
+
keys: string[];
|
|
6
|
+
pattern: RegExp;
|
|
7
|
+
replacer: (...groups: string[]) => string;
|
|
8
|
+
};
|
|
9
|
+
export declare const maskFn: (key: string, value: unknown, additionalMaskRules?: MaskRule[]) => unknown;
|
|
10
|
+
export {};
|