mvc-common-toolkit 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +6 -0
- package/dist/index.js +23 -0
- package/dist/index.js.map +1 -0
- package/dist/src/constants.d.ts +11 -0
- package/dist/src/constants.js +17 -0
- package/dist/src/constants.js.map +1 -0
- package/dist/src/gateways/alibaba-cloud-gateway.d.ts +26 -0
- package/dist/src/gateways/alibaba-cloud-gateway.js +56 -0
- package/dist/src/gateways/alibaba-cloud-gateway.js.map +1 -0
- package/dist/src/gateways/http-audit-gateway.d.ts +21 -0
- package/dist/src/gateways/http-audit-gateway.js +75 -0
- package/dist/src/gateways/http-audit-gateway.js.map +1 -0
- package/dist/src/gateways/index.d.ts +2 -0
- package/dist/src/gateways/index.js +19 -0
- package/dist/src/gateways/index.js.map +1 -0
- package/dist/src/interfaces.d.ts +52 -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/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/http-request-utils.d.ts +3 -0
- package/dist/src/pkg/http-request-utils.js +27 -0
- package/dist/src/pkg/http-request-utils.js.map +1 -0
- package/dist/src/pkg/index.d.ts +6 -0
- package/dist/src/pkg/index.js +33 -0
- package/dist/src/pkg/index.js.map +1 -0
- package/dist/src/pkg/object-helper.d.ts +1 -0
- package/dist/src/pkg/object-helper.js +14 -0
- package/dist/src/pkg/object-helper.js.map +1 -0
- package/dist/src/pkg/query-helper.d.ts +2 -0
- package/dist/src/pkg/query-helper.js +23 -0
- package/dist/src/pkg/query-helper.js.map +1 -0
- package/dist/src/pkg/string-utils.d.ts +4 -0
- package/dist/src/pkg/string-utils.js +74 -0
- package/dist/src/pkg/string-utils.js.map +1 -0
- package/dist/src/pkg/worksheet.utils.d.ts +24 -0
- package/dist/src/pkg/worksheet.utils.js +105 -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/index.d.ts +3 -0
- package/dist/src/services/index.js +20 -0
- package/dist/src/services/index.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/tsconfig.tsbuildinfo +1 -0
- package/index.ts +6 -0
- package/package.json +41 -0
- package/tsconfig.json +25 -0
|
@@ -0,0 +1,33 @@
|
|
|
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.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
|
+
//# 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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function removeUndefinedProps(data: any): any;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
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
|
+
//# 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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.parseSort = void 0;
|
|
4
|
+
function parseSort(data) {
|
|
5
|
+
if (!data) {
|
|
6
|
+
return [];
|
|
7
|
+
}
|
|
8
|
+
const sortConditions = data.split(" ").map((item) => {
|
|
9
|
+
if (item[0] === "-") {
|
|
10
|
+
return {
|
|
11
|
+
columnName: item.slice(1, item.length - 1),
|
|
12
|
+
direction: "DESC",
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
return {
|
|
16
|
+
columnName: item,
|
|
17
|
+
direction: "ASC",
|
|
18
|
+
};
|
|
19
|
+
});
|
|
20
|
+
return sortConditions;
|
|
21
|
+
}
|
|
22
|
+
exports.parseSort = parseSort;
|
|
23
|
+
//# sourceMappingURL=query-helper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"query-helper.js","sourceRoot":"","sources":["../../../src/pkg/query-helper.ts"],"names":[],"mappings":";;;AAOA,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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export declare function generateRandomId(): string;
|
|
2
|
+
export declare function generatePassword(length?: number): string;
|
|
3
|
+
export declare function validatePasswordStrengthWithMessage(password: string): string;
|
|
4
|
+
export declare const maskFn: (key: string, value: string) => string;
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.maskFn = exports.validatePasswordStrengthWithMessage = exports.generatePassword = exports.generateRandomId = void 0;
|
|
4
|
+
const cuid2_1 = require("@paralleldrive/cuid2");
|
|
5
|
+
function generateRandomId() {
|
|
6
|
+
return (0, cuid2_1.createId)();
|
|
7
|
+
}
|
|
8
|
+
exports.generateRandomId = generateRandomId;
|
|
9
|
+
function generatePassword(length = 16) {
|
|
10
|
+
const chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
|
|
11
|
+
const numbers = "0123456789";
|
|
12
|
+
const symbols = "!@#$%^&*(){}|+-";
|
|
13
|
+
const all = chars + numbers + symbols;
|
|
14
|
+
let retVal = "";
|
|
15
|
+
retVal += chars.charAt(Math.floor(Math.random() * chars.length));
|
|
16
|
+
retVal += numbers.charAt(Math.floor(Math.random() * numbers.length));
|
|
17
|
+
retVal += symbols.charAt(Math.floor(Math.random() * symbols.length));
|
|
18
|
+
for (let i = 0; i < length - 3; ++i) {
|
|
19
|
+
retVal += all.charAt(Math.floor(Math.random() * all.length));
|
|
20
|
+
}
|
|
21
|
+
return retVal;
|
|
22
|
+
}
|
|
23
|
+
exports.generatePassword = generatePassword;
|
|
24
|
+
function escapeRegexCharacters(str) {
|
|
25
|
+
return str.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
26
|
+
}
|
|
27
|
+
function validatePasswordStrengthWithMessage(password) {
|
|
28
|
+
const escapedPassword = escapeRegexCharacters(password);
|
|
29
|
+
if (escapedPassword.length < 8) {
|
|
30
|
+
return "Password must be at least 8 characters long";
|
|
31
|
+
}
|
|
32
|
+
if (!escapedPassword.match(/[a-z]/)) {
|
|
33
|
+
return "Password must contain at least one lowercase letter";
|
|
34
|
+
}
|
|
35
|
+
if (!escapedPassword.match(/[A-Z]/)) {
|
|
36
|
+
return "Password must contain at least one uppercase letter";
|
|
37
|
+
}
|
|
38
|
+
if (!escapedPassword.match(/[0-9]/)) {
|
|
39
|
+
return "Password must contain at least one number";
|
|
40
|
+
}
|
|
41
|
+
if (!escapedPassword.match(/[^a-zA-Z0-9]/)) {
|
|
42
|
+
return "Password must contain at least one special character";
|
|
43
|
+
}
|
|
44
|
+
return "";
|
|
45
|
+
}
|
|
46
|
+
exports.validatePasswordStrengthWithMessage = validatePasswordStrengthWithMessage;
|
|
47
|
+
const standardlize = (f1) => f1.replace(new RegExp("_", "g"), "").toLowerCase();
|
|
48
|
+
const masks = [
|
|
49
|
+
{
|
|
50
|
+
match: (value) => ["password", "Authorization", "access_token"]
|
|
51
|
+
.map((item) => standardlize(item))
|
|
52
|
+
.includes(standardlize(value)),
|
|
53
|
+
pattern: /^(.*)$/,
|
|
54
|
+
replacer: (_, _s1) => "***masked***",
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
match: (value) => ["txid", "txnid"]
|
|
58
|
+
.map((item) => standardlize(item))
|
|
59
|
+
.includes(standardlize(value)),
|
|
60
|
+
pattern: /^(.{10})(.*)(.{36})$/,
|
|
61
|
+
replacer: (_, s1, s2, s3) => `${s1}${"*".repeat(s2.length)}${s3}`,
|
|
62
|
+
},
|
|
63
|
+
];
|
|
64
|
+
const maskFn = (key, value) => {
|
|
65
|
+
if (typeof value === "object")
|
|
66
|
+
return value;
|
|
67
|
+
const foundMask = masks.find((m) => m.match(key));
|
|
68
|
+
if (!foundMask)
|
|
69
|
+
return value;
|
|
70
|
+
const { pattern, replacer } = foundMask;
|
|
71
|
+
return value.replace(pattern, replacer);
|
|
72
|
+
};
|
|
73
|
+
exports.maskFn = maskFn;
|
|
74
|
+
//# sourceMappingURL=string-utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"string-utils.js","sourceRoot":"","sources":["../../../src/pkg/string-utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { Worksheet, Cell, Row, Column } from "exceljs";
|
|
2
|
+
import { ICellData, ICellOptions } from "../interfaces";
|
|
3
|
+
export declare class WorksheetUtils {
|
|
4
|
+
protected worksheet: Worksheet;
|
|
5
|
+
protected isAlive: boolean;
|
|
6
|
+
id: number;
|
|
7
|
+
constructor(worksheet: Worksheet);
|
|
8
|
+
markRemoved(): void;
|
|
9
|
+
rename(newName: string): void;
|
|
10
|
+
setRowHeight(rowNumber: number, height: number): void;
|
|
11
|
+
setColumnSize(columnName: string, width: number): void;
|
|
12
|
+
writeCellByAddress(cellAddress: string, cellData: Partial<ICellData>): Cell;
|
|
13
|
+
writeRow(rowNumber: number, startColumnNumber: number, writeData: any[]): Row;
|
|
14
|
+
duplicateRow(rowNumber: number, amount?: number, insert?: boolean): void;
|
|
15
|
+
mergeCells(startCellName: string, endCellName: string, ignoreStyle?: boolean): void;
|
|
16
|
+
getRow(rowNumber1Based: number): Row;
|
|
17
|
+
getColumn(columnName: string): Partial<Column>;
|
|
18
|
+
commit(): void;
|
|
19
|
+
getColumnData(columnName: string, startIndex?: number): any[];
|
|
20
|
+
getRowData(rowNumber1Based: number, startColIndex: number, endColIndex: number): any[];
|
|
21
|
+
protected applyOptionsToCell(cell: Cell, options?: ICellOptions): void;
|
|
22
|
+
protected writeCell(cell: Cell, cellData: Partial<ICellData>): void;
|
|
23
|
+
protected throwIfNotAlive(): void;
|
|
24
|
+
}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.WorksheetUtils = void 0;
|
|
4
|
+
class WorksheetUtils {
|
|
5
|
+
constructor(worksheet) {
|
|
6
|
+
this.worksheet = worksheet;
|
|
7
|
+
this.isAlive = true;
|
|
8
|
+
this.id = worksheet.id;
|
|
9
|
+
}
|
|
10
|
+
markRemoved() {
|
|
11
|
+
this.isAlive = false;
|
|
12
|
+
}
|
|
13
|
+
rename(newName) {
|
|
14
|
+
this.worksheet.name = newName;
|
|
15
|
+
}
|
|
16
|
+
setRowHeight(rowNumber, height) {
|
|
17
|
+
const row = this.getRow(rowNumber);
|
|
18
|
+
row.height = height;
|
|
19
|
+
}
|
|
20
|
+
setColumnSize(columnName, width) {
|
|
21
|
+
const column = this.getColumn(columnName);
|
|
22
|
+
column.width = width;
|
|
23
|
+
}
|
|
24
|
+
writeCellByAddress(cellAddress, cellData) {
|
|
25
|
+
const targetCell = this.worksheet.getCell(cellAddress);
|
|
26
|
+
this.writeCell(targetCell, cellData);
|
|
27
|
+
return targetCell;
|
|
28
|
+
}
|
|
29
|
+
writeRow(rowNumber, startColumnNumber, writeData) {
|
|
30
|
+
const emptyArrayWithLength = Array(startColumnNumber);
|
|
31
|
+
const rowData = emptyArrayWithLength.concat(writeData);
|
|
32
|
+
const newRow = this.worksheet.insertRow(rowNumber, rowData, "o+");
|
|
33
|
+
newRow.commit();
|
|
34
|
+
return newRow;
|
|
35
|
+
}
|
|
36
|
+
duplicateRow(rowNumber, amount = 1, insert = true) {
|
|
37
|
+
this.worksheet.duplicateRow(rowNumber, amount, insert);
|
|
38
|
+
}
|
|
39
|
+
mergeCells(startCellName, endCellName, ignoreStyle) {
|
|
40
|
+
this.throwIfNotAlive();
|
|
41
|
+
return this.worksheet.mergeCells(`${startCellName}:${endCellName}`);
|
|
42
|
+
}
|
|
43
|
+
getRow(rowNumber1Based) {
|
|
44
|
+
this.throwIfNotAlive();
|
|
45
|
+
return this.worksheet.getRow(rowNumber1Based);
|
|
46
|
+
}
|
|
47
|
+
getColumn(columnName) {
|
|
48
|
+
this.throwIfNotAlive();
|
|
49
|
+
return this.worksheet.getColumn(columnName);
|
|
50
|
+
}
|
|
51
|
+
commit() {
|
|
52
|
+
this.worksheet.commit();
|
|
53
|
+
}
|
|
54
|
+
getColumnData(columnName, startIndex = 0) {
|
|
55
|
+
this.throwIfNotAlive();
|
|
56
|
+
const column = this.getColumn(columnName);
|
|
57
|
+
const columnValues = column.values;
|
|
58
|
+
if (!columnValues || !columnValues.length) {
|
|
59
|
+
return [];
|
|
60
|
+
}
|
|
61
|
+
return columnValues.map((i) => i.valueOf()).slice(startIndex);
|
|
62
|
+
}
|
|
63
|
+
getRowData(rowNumber1Based, startColIndex = 0, endColIndex) {
|
|
64
|
+
this.throwIfNotAlive();
|
|
65
|
+
const row = this.getRow(rowNumber1Based);
|
|
66
|
+
const rowValues = row.values;
|
|
67
|
+
if (!rowValues || !rowValues.length) {
|
|
68
|
+
return [];
|
|
69
|
+
}
|
|
70
|
+
if (Array.isArray(rowValues)) {
|
|
71
|
+
return rowValues
|
|
72
|
+
.map((cellValue) => cellValue.valueOf())
|
|
73
|
+
.slice(startColIndex, endColIndex);
|
|
74
|
+
}
|
|
75
|
+
else {
|
|
76
|
+
return Object.values(rowValues)
|
|
77
|
+
.map((i) => i.valueOf())
|
|
78
|
+
.slice(startColIndex, endColIndex);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
applyOptionsToCell(cell, options) {
|
|
82
|
+
const { style, border } = options;
|
|
83
|
+
if (style) {
|
|
84
|
+
cell.style = style;
|
|
85
|
+
}
|
|
86
|
+
if (border) {
|
|
87
|
+
cell.border = border;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
writeCell(cell, cellData) {
|
|
91
|
+
const { value, options } = cellData;
|
|
92
|
+
cell.value = value;
|
|
93
|
+
if (options) {
|
|
94
|
+
this.applyOptionsToCell(cell, options);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
throwIfNotAlive() {
|
|
98
|
+
if (this.isAlive) {
|
|
99
|
+
return;
|
|
100
|
+
}
|
|
101
|
+
throw new Error("Worksheet has been destroyed.");
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
exports.WorksheetUtils = WorksheetUtils;
|
|
105
|
+
//# sourceMappingURL=worksheet.utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"worksheet.utils.js","sourceRoot":"","sources":["../../../src/pkg/worksheet.utils.ts"],"names":[],"mappings":";;;AAIA,MAAa,cAAc;IAKzB,YAAsB,SAAoB;QAApB,cAAS,GAAT,SAAS,CAAW;QAJhC,YAAO,GAAG,IAAI,CAAC;QAKvB,IAAI,CAAC,EAAE,GAAG,SAAS,CAAC,EAAE,CAAC;IACzB,CAAC;IAEM,WAAW;QAChB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IACvB,CAAC;IAEM,MAAM,CAAC,OAAe;QAC3B,IAAI,CAAC,SAAS,CAAC,IAAI,GAAG,OAAO,CAAC;IAChC,CAAC;IAEM,YAAY,CAAC,SAAiB,EAAE,MAAc;QACnD,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAEnC,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC;IACtB,CAAC;IAEM,aAAa,CAAC,UAAkB,EAAE,KAAa;QACpD,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAE1C,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;IAEM,kBAAkB,CACvB,WAAmB,EACnB,QAA4B;QAE5B,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAEvD,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAErC,OAAO,UAAU,CAAC;IACpB,CAAC;IAEM,QAAQ,CACb,SAAiB,EACjB,iBAAyB,EACzB,SAAgB;QAEhB,MAAM,oBAAoB,GAAG,KAAK,CAAC,iBAAiB,CAAC,CAAC;QACtD,MAAM,OAAO,GAAG,oBAAoB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACvD,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;QAElE,MAAM,CAAC,MAAM,EAAE,CAAC;QAEhB,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,YAAY,CAAC,SAAiB,EAAE,MAAM,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI;QAC9D,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACzD,CAAC;IAEM,UAAU,CACf,aAAqB,EACrB,WAAmB,EACnB,WAAqB;QAErB,IAAI,CAAC,eAAe,EAAE,CAAC;QAEvB,OAAO,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,aAAa,IAAI,WAAW,EAAE,CAAC,CAAC;IACtE,CAAC;IAEM,MAAM,CAAC,eAAuB;QACnC,IAAI,CAAC,eAAe,EAAE,CAAC;QAEvB,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;IAChD,CAAC;IAEM,SAAS,CAAC,UAAkB;QACjC,IAAI,CAAC,eAAe,EAAE,CAAC;QAEvB,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IAC9C,CAAC;IAEM,MAAM;QACX,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;IAC1B,CAAC;IAEM,aAAa,CAAC,UAAkB,EAAE,UAAU,GAAG,CAAC;QACrD,IAAI,CAAC,eAAe,EAAE,CAAC;QAEvB,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAC1C,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC;QAEnC,IAAI,CAAC,YAAY,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE;YACzC,OAAO,EAAE,CAAC;SACX;QAED,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAChE,CAAC;IAEM,UAAU,CACf,eAAuB,EACvB,aAAa,GAAG,CAAC,EACjB,WAAmB;QAEnB,IAAI,CAAC,eAAe,EAAE,CAAC;QAEvB,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;QACzC,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC;QAE7B,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;YACnC,OAAO,EAAE,CAAC;SACX;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;YAC5B,OAAO,SAAS;iBACb,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;iBACvC,KAAK,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;SACtC;aAAM;YACL,OAAO,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC;iBAC5B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;iBACvB,KAAK,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;SACtC;IACH,CAAC;IAES,kBAAkB,CAAC,IAAU,EAAE,OAAsB;QAC7D,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;QAElC,IAAI,KAAK,EAAE;YACT,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;SACpB;QAED,IAAI,MAAM,EAAE;YACV,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;SACtB;IACH,CAAC;IAES,SAAS,CAAC,IAAU,EAAE,QAA4B;QAC1D,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAC;QAEpC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,OAAO,EAAE;YACX,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;SACxC;IACH,CAAC;IAES,eAAe;QACvB,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,OAAO;SACR;QAED,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;IACnD,CAAC;CACF;AAtJD,wCAsJC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
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.AuditService = void 0;
|
|
13
|
+
class AuditService {
|
|
14
|
+
constructor(auditCarrier) {
|
|
15
|
+
this.auditCarrier = auditCarrier;
|
|
16
|
+
}
|
|
17
|
+
emitLog(log) {
|
|
18
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
19
|
+
let result = null;
|
|
20
|
+
try {
|
|
21
|
+
result = yield this.auditCarrier.publish(log.logId, log.level, log.toJSON());
|
|
22
|
+
}
|
|
23
|
+
catch (error) {
|
|
24
|
+
console.error(`[${log.logId}]failed to emit log: ` + log.toJSON());
|
|
25
|
+
console.error(error);
|
|
26
|
+
}
|
|
27
|
+
return result;
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
exports.AuditService = AuditService;
|
|
32
|
+
//# sourceMappingURL=audit-service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"audit-service.js","sourceRoot":"","sources":["../../../src/services/audit-service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAGA,MAAa,YAAY;IACvB,YAAsB,YAA0B;QAA1B,iBAAY,GAAZ,YAAY,CAAc;IAAG,CAAC;IAEvC,OAAO,CAAC,GAAc;;YACjC,IAAI,MAAM,GAAG,IAAI,CAAC;YAClB,IAAI;gBACF,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CACtC,GAAG,CAAC,KAAK,EACT,GAAG,CAAC,KAAK,EACT,GAAG,CAAC,MAAM,EAAE,CACb,CAAC;aACH;YAAC,OAAO,KAAK,EAAE;gBACd,OAAO,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,KAAK,uBAAuB,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;gBACnE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;aACtB;YAED,OAAO,MAAM,CAAC;QAChB,CAAC;KAAA;CACF;AAlBD,oCAkBC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import "core-js/modules/es.promise";
|
|
3
|
+
import "core-js/modules/es.string.includes";
|
|
4
|
+
import "core-js/modules/es.object.assign";
|
|
5
|
+
import "core-js/modules/es.object.keys";
|
|
6
|
+
import "core-js/modules/es.symbol";
|
|
7
|
+
import "core-js/modules/es.symbol.async-iterator";
|
|
8
|
+
import "regenerator-runtime/runtime";
|
|
9
|
+
import { AddWorksheetOptions, Buffer, Workbook as IWorkbook } from "exceljs";
|
|
10
|
+
import * as stream from "stream";
|
|
11
|
+
import { WorksheetUtils } from "../pkg/worksheet.utils";
|
|
12
|
+
export declare class ExcelService {
|
|
13
|
+
protected workbook: IWorkbook;
|
|
14
|
+
protected workSheetMap: Map<string, WorksheetUtils>;
|
|
15
|
+
loadTemplate(templatePath: string): Promise<this>;
|
|
16
|
+
loadFromBuffer(buffer: Buffer): Promise<this>;
|
|
17
|
+
addWorkSheet(workSheetName: string, options?: Partial<AddWorksheetOptions>): WorksheetUtils;
|
|
18
|
+
getWorkSheet(workSheetName: string): WorksheetUtils;
|
|
19
|
+
writeToStream(readStream: stream.Stream): Promise<void>;
|
|
20
|
+
writeToFile(path: string): Promise<void>;
|
|
21
|
+
write(stream: stream.Stream): Promise<void>;
|
|
22
|
+
writeToBuffer(): Promise<Buffer>;
|
|
23
|
+
removeWorkSheet(worksheet: WorksheetUtils): void;
|
|
24
|
+
protected throwIfTemplateNotLoaded(): void;
|
|
25
|
+
}
|
|
@@ -0,0 +1,95 @@
|
|
|
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.ExcelService = void 0;
|
|
13
|
+
require("core-js/modules/es.promise");
|
|
14
|
+
require("core-js/modules/es.string.includes");
|
|
15
|
+
require("core-js/modules/es.object.assign");
|
|
16
|
+
require("core-js/modules/es.object.keys");
|
|
17
|
+
require("core-js/modules/es.symbol");
|
|
18
|
+
require("core-js/modules/es.symbol.async-iterator");
|
|
19
|
+
require("regenerator-runtime/runtime");
|
|
20
|
+
const worksheet_utils_1 = require("../pkg/worksheet.utils");
|
|
21
|
+
const Workbook = require("exceljs/dist/es5/doc/workbook.js");
|
|
22
|
+
class ExcelService {
|
|
23
|
+
constructor() {
|
|
24
|
+
this.workSheetMap = new Map();
|
|
25
|
+
}
|
|
26
|
+
loadTemplate(templatePath) {
|
|
27
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
28
|
+
try {
|
|
29
|
+
if (!templatePath) {
|
|
30
|
+
throw new Error("Missing excel template path");
|
|
31
|
+
}
|
|
32
|
+
const newWorkbook = new Workbook();
|
|
33
|
+
this.workbook = yield newWorkbook.xlsx.readFile(templatePath);
|
|
34
|
+
return this;
|
|
35
|
+
}
|
|
36
|
+
catch (error) {
|
|
37
|
+
throw new Error(`Error loading excel template: ${error.message}`);
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
loadFromBuffer(buffer) {
|
|
42
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
43
|
+
try {
|
|
44
|
+
if (!buffer || !buffer.byteLength) {
|
|
45
|
+
throw new Error("Excel buffer is empty!");
|
|
46
|
+
}
|
|
47
|
+
const newWorkbook = new Workbook();
|
|
48
|
+
this.workbook = yield newWorkbook.xlsx.load(buffer);
|
|
49
|
+
return this;
|
|
50
|
+
}
|
|
51
|
+
catch (error) {
|
|
52
|
+
throw new Error(`Error loading excel from buffer: ${error.message}`);
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
addWorkSheet(workSheetName, options) {
|
|
57
|
+
const newWorksheet = this.workbook.addWorksheet(workSheetName, options);
|
|
58
|
+
const wrappedWorksheet = new worksheet_utils_1.WorksheetUtils(newWorksheet);
|
|
59
|
+
this.workSheetMap.set(workSheetName, wrappedWorksheet);
|
|
60
|
+
return wrappedWorksheet;
|
|
61
|
+
}
|
|
62
|
+
getWorkSheet(workSheetName) {
|
|
63
|
+
const worksheet = this.workbook.getWorksheet(workSheetName);
|
|
64
|
+
if (worksheet) {
|
|
65
|
+
const newWorkSheetUtil = new worksheet_utils_1.WorksheetUtils(worksheet);
|
|
66
|
+
this.workSheetMap.set(workSheetName, newWorkSheetUtil);
|
|
67
|
+
return newWorkSheetUtil;
|
|
68
|
+
}
|
|
69
|
+
return this.addWorkSheet(workSheetName);
|
|
70
|
+
}
|
|
71
|
+
writeToStream(readStream) {
|
|
72
|
+
return this.workbook.xlsx.write(readStream);
|
|
73
|
+
}
|
|
74
|
+
writeToFile(path) {
|
|
75
|
+
return this.workbook.xlsx.writeFile(path);
|
|
76
|
+
}
|
|
77
|
+
write(stream) {
|
|
78
|
+
return this.writeToStream(stream);
|
|
79
|
+
}
|
|
80
|
+
writeToBuffer() {
|
|
81
|
+
return this.workbook.xlsx.writeBuffer();
|
|
82
|
+
}
|
|
83
|
+
removeWorkSheet(worksheet) {
|
|
84
|
+
worksheet.markRemoved();
|
|
85
|
+
return this.workbook.removeWorksheet(worksheet.id);
|
|
86
|
+
}
|
|
87
|
+
throwIfTemplateNotLoaded() {
|
|
88
|
+
if (this.workbook) {
|
|
89
|
+
return;
|
|
90
|
+
}
|
|
91
|
+
throw new Error("Template not loaded. Please load template.");
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
exports.ExcelService = ExcelService;
|
|
95
|
+
//# sourceMappingURL=excel.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"excel.service.js","sourceRoot":"","sources":["../../../src/services/excel.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./audit-service"), exports);
|
|
18
|
+
__exportStar(require("./excel.service"), exports);
|
|
19
|
+
__exportStar(require("./mailer-service"), exports);
|
|
20
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAAgC;AAChC,kDAAgC;AAChC,mDAAiC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { EmailSender, SendMailOptions } from "../interfaces";
|
|
2
|
+
export interface MailServiceConfig {
|
|
3
|
+
adminEmails?: string[];
|
|
4
|
+
}
|
|
5
|
+
export declare class MailService {
|
|
6
|
+
protected transporter: EmailSender;
|
|
7
|
+
protected config: MailServiceConfig;
|
|
8
|
+
protected adminEmails: string[];
|
|
9
|
+
constructor(transporter: EmailSender, config: MailServiceConfig);
|
|
10
|
+
sendToAdmin(mailOptions: SendMailOptions): Promise<boolean | void>;
|
|
11
|
+
send(mailOptions: SendMailOptions, ccOptions?: {
|
|
12
|
+
ccToAdmin: boolean;
|
|
13
|
+
bccToAdmin: boolean;
|
|
14
|
+
}): Promise<boolean | void>;
|
|
15
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
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.MailService = void 0;
|
|
13
|
+
class MailService {
|
|
14
|
+
constructor(transporter, config) {
|
|
15
|
+
this.transporter = transporter;
|
|
16
|
+
this.config = config;
|
|
17
|
+
this.adminEmails = (config === null || config === void 0 ? void 0 : config.adminEmails) || [];
|
|
18
|
+
}
|
|
19
|
+
sendToAdmin(mailOptions) {
|
|
20
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
21
|
+
if (this.adminEmails.length === 0) {
|
|
22
|
+
throw new Error("admin email list is empty");
|
|
23
|
+
}
|
|
24
|
+
mailOptions.to = this.adminEmails;
|
|
25
|
+
return this.send(mailOptions);
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
send(mailOptions, ccOptions = { ccToAdmin: false, bccToAdmin: false }) {
|
|
29
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
30
|
+
const message = Object.assign({ from: process.env.SMTP_MAIL_FROM }, mailOptions);
|
|
31
|
+
const { ccToAdmin, bccToAdmin } = ccOptions;
|
|
32
|
+
if (ccToAdmin && this.adminEmails.length > 0)
|
|
33
|
+
message.cc = this.adminEmails;
|
|
34
|
+
if (bccToAdmin && this.adminEmails.length > 0)
|
|
35
|
+
message.bcc = this.adminEmails;
|
|
36
|
+
return this.transporter.send(message).catch((e) => {
|
|
37
|
+
console.error("Send mail error", e);
|
|
38
|
+
return false;
|
|
39
|
+
});
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
exports.MailService = MailService;
|
|
44
|
+
//# sourceMappingURL=mailer-service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mailer-service.js","sourceRoot":"","sources":["../../../src/services/mailer-service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAMA,MAAa,WAAW;IAGtB,YACY,WAAwB,EACxB,MAAyB;QADzB,gBAAW,GAAX,WAAW,CAAa;QACxB,WAAM,GAAN,MAAM,CAAmB;QAEnC,IAAI,CAAC,WAAW,GAAG,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,WAAW,KAAI,EAAE,CAAC;IAC/C,CAAC;IAEY,WAAW,CAAC,WAA4B;;YACnD,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE;gBACjC,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;aAC9C;YAED,WAAW,CAAC,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC;YAElC,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAChC,CAAC;KAAA;IAEY,IAAI,CACf,WAA4B,EAC5B,SAAS,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;;YAEnD,MAAM,OAAO,mBAAK,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc,IAAK,WAAW,CAAE,CAAC;YACrE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,SAAS,CAAC;YAE5C,IAAI,SAAS,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC;gBAAE,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC;YAC5E,IAAI,UAAU,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC;gBAC3C,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC;YAEjC,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;gBAChD,OAAO,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC;gBACpC,OAAO,KAAK,CAAC;YACf,CAAC,CAAC,CAAC;QACL,CAAC;KAAA;CACF;AApCD,kCAoCC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"program":{"fileNames":["../node_modules/typescript/lib/lib.es6.d.ts","../node_modules/typescript/lib/lib.es5.d.ts","../node_modules/typescript/lib/lib.es2015.d.ts","../node_modules/typescript/lib/lib.es2016.d.ts","../node_modules/typescript/lib/lib.es2017.d.ts","../node_modules/typescript/lib/lib.es2018.d.ts","../node_modules/typescript/lib/lib.dom.d.ts","../node_modules/typescript/lib/lib.dom.iterable.d.ts","../node_modules/typescript/lib/lib.webworker.importscripts.d.ts","../node_modules/typescript/lib/lib.scripthost.d.ts","../node_modules/typescript/lib/lib.es2015.core.d.ts","../node_modules/typescript/lib/lib.es2015.collection.d.ts","../node_modules/typescript/lib/lib.es2015.generator.d.ts","../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../node_modules/typescript/lib/lib.es2015.promise.d.ts","../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../node_modules/typescript/lib/lib.es2017.object.d.ts","../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2017.string.d.ts","../node_modules/typescript/lib/lib.es2017.intl.d.ts","../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../node_modules/typescript/lib/lib.es2018.intl.d.ts","../node_modules/typescript/lib/lib.es2018.promise.d.ts","../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../node_modules/typescript/lib/lib.es2020.intl.d.ts","../node_modules/typescript/lib/lib.esnext.intl.d.ts","../node_modules/typescript/lib/lib.decorators.d.ts","../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../src/constants.ts","../node_modules/exceljs/index.d.ts","../src/interfaces.ts","../node_modules/@types/ali-oss/index.d.ts","../node_modules/@alicloud/pop-core/lib/rpc.d.ts","../src/gateways/alibaba-cloud-gateway.ts","../node_modules/axios/index.d.ts","../node_modules/@paralleldrive/cuid2/index.d.ts","../src/pkg/string-utils.ts","../src/gateways/http-audit-gateway.ts","../src/gateways/index.ts","../src/models/audit-log.ts","../src/models/index.ts","../node_modules/@types/node/assert.d.ts","../node_modules/@types/node/globals.d.ts","../node_modules/@types/node/async_hooks.d.ts","../node_modules/@types/node/buffer.d.ts","../node_modules/@types/node/child_process.d.ts","../node_modules/@types/node/cluster.d.ts","../node_modules/@types/node/console.d.ts","../node_modules/@types/node/constants.d.ts","../node_modules/@types/node/crypto.d.ts","../node_modules/@types/node/dgram.d.ts","../node_modules/@types/node/dns.d.ts","../node_modules/@types/node/domain.d.ts","../node_modules/@types/node/events.d.ts","../node_modules/@types/node/fs.d.ts","../node_modules/@types/node/fs/promises.d.ts","../node_modules/@types/node/http.d.ts","../node_modules/@types/node/http2.d.ts","../node_modules/@types/node/https.d.ts","../node_modules/@types/node/inspector.d.ts","../node_modules/@types/node/module.d.ts","../node_modules/@types/node/net.d.ts","../node_modules/@types/node/os.d.ts","../node_modules/@types/node/path.d.ts","../node_modules/@types/node/perf_hooks.d.ts","../node_modules/@types/node/process.d.ts","../node_modules/@types/node/punycode.d.ts","../node_modules/@types/node/querystring.d.ts","../node_modules/@types/node/readline.d.ts","../node_modules/@types/node/repl.d.ts","../node_modules/@types/node/stream.d.ts","../node_modules/@types/node/string_decoder.d.ts","../node_modules/@types/node/timers.d.ts","../node_modules/@types/node/tls.d.ts","../node_modules/@types/node/trace_events.d.ts","../node_modules/@types/node/tty.d.ts","../node_modules/@types/node/url.d.ts","../node_modules/@types/node/util.d.ts","../node_modules/@types/node/v8.d.ts","../node_modules/@types/node/vm.d.ts","../node_modules/@types/node/wasi.d.ts","../node_modules/@types/node/worker_threads.d.ts","../node_modules/@types/node/zlib.d.ts","../node_modules/@types/node/globals.global.d.ts","../node_modules/@types/node/index.d.ts","../node_modules/@types/bcrypt/index.d.ts","../src/pkg/bcrypt-helper.ts","../src/pkg/http-request-utils.ts","../src/pkg/object-helper.ts","../src/pkg/query-helper.ts","../src/pkg/worksheet.utils.ts","../src/pkg/index.ts","../src/services/audit-service.ts","../src/services/excel.service.ts","../src/services/mailer-service.ts","../src/services/index.ts","../index.ts"],"fileInfos":["df039a67536fe2acc3affdcbfb645892f842db36fe599e8e652e2f0c640a90d1",{"version":"6a6b471e7e43e15ef6f8fe617a22ce4ecb0e34efa6c3dfcfe7cebd392bcca9d2","affectsGlobalScope":true},"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","dc48272d7c333ccf58034c0026162576b7d50ea0e69c3b9292f803fc20720fd5","27147504487dc1159369da4f4da8a26406364624fa9bc3db632f7d94a5bae2c3","5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8",{"version":"fcd3ecc9f764f06f4d5c467677f4f117f6abf49dee6716283aa204ff1162498b","affectsGlobalScope":true},{"version":"9a60b92bca4c1257db03b349d58e63e4868cfc0d1c8d0ba60c2dbc63f4e6c9f6","affectsGlobalScope":true},{"version":"c5c5565225fce2ede835725a92a28ece149f83542aa4866cfb10290bff7b8996","affectsGlobalScope":true},{"version":"7d2dbc2a0250400af0809b0ad5f84686e84c73526de931f84560e483eb16b03c","affectsGlobalScope":true},{"version":"f296963760430fb65b4e5d91f0ed770a91c6e77455bacf8fa23a1501654ede0e","affectsGlobalScope":true},{"version":"5114a95689b63f96b957e00216bc04baf9e1a1782aa4d8ee7e5e9acbf768e301","affectsGlobalScope":true},{"version":"4443e68b35f3332f753eacc66a04ac1d2053b8b035a0e0ac1d455392b5e243b3","affectsGlobalScope":true},{"version":"ab22100fdd0d24cfc2cc59d0a00fc8cf449830d9c4030dc54390a46bd562e929","affectsGlobalScope":true},{"version":"f7bd636ae3a4623c503359ada74510c4005df5b36de7f23e1db8a5c543fd176b","affectsGlobalScope":true},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true},{"version":"0c20f4d2358eb679e4ae8a4432bdd96c857a2960fd6800b21ec4008ec59d60ea","affectsGlobalScope":true},{"version":"36ae84ccc0633f7c0787bc6108386c8b773e95d3b052d9464a99cd9b8795fbec","affectsGlobalScope":true},{"version":"82d0d8e269b9eeac02c3bd1c9e884e85d483fcb2cd168bccd6bc54df663da031","affectsGlobalScope":true},{"version":"b8deab98702588840be73d67f02412a2d45a417a3c097b2e96f7f3a42ac483d1","affectsGlobalScope":true},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true},{"version":"376d554d042fb409cb55b5cbaf0b2b4b7e669619493c5d18d5fa8bd67273f82a","affectsGlobalScope":true},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true},{"version":"61c37c1de663cf4171e1192466e52c7a382afa58da01b1dc75058f032ddf0839","affectsGlobalScope":true},{"version":"c4138a3dd7cd6cf1f363ca0f905554e8d81b45844feea17786cdf1626cb8ea06","affectsGlobalScope":true},{"version":"6ff3e2452b055d8f0ec026511c6582b55d935675af67cdb67dd1dc671e8065df","affectsGlobalScope":true},{"version":"03de17b810f426a2f47396b0b99b53a82c1b60e9cba7a7edda47f9bb077882f4","affectsGlobalScope":true},{"version":"8184c6ddf48f0c98429326b428478ecc6143c27f79b79e85740f17e6feb090f1","affectsGlobalScope":true},{"version":"b7e9f95a7387e3f66be0ed6db43600c49cec33a3900437ce2fd350d9b7cb16f2","affectsGlobalScope":true},{"version":"9cc66b0513ad41cb5f5372cca86ef83a0d37d1c1017580b7dace3ea5661836df","affectsGlobalScope":true},{"version":"307c8b7ebbd7f23a92b73a4c6c0a697beca05b06b036c23a34553e5fe65e4fdc","affectsGlobalScope":true},{"version":"189c0703923150aa30673fa3de411346d727cc44a11c75d05d7cf9ef095daa22","affectsGlobalScope":true},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true},{"version":"63dc4a75d834ab7d7347a3df435c984ced3f76340205a576a10af85d32f26ae6","signature":"9e78f2de7ea69cbff8e27a96e6415012675524bc860593d387f95c01452da381"},"a8669e593472df912d84f2e679b699e01aa137304ec6734a5e7757633f64b9b3",{"version":"3bfcab284bfda6fc67111edac7806fcde1fdb9f0918bf56e2bc70d2d83cc007e","signature":"5598cf36b33fd825bfe80a8ddcae9ec3065f8aa6cab3fc4bad168d13481514c7"},"aeedd840f50f60785b8646d3bc1fbd23a47f2fbf71cba4a84a80e050c4f996f8","387cd51ff3531cf5470164612ed89448e82ec111c5eaeb1befe99e59b23072ff",{"version":"cc8d8af50a1109acc29f84998c5f519ac77f05dedfb44897b331ebbe956e6eee","signature":"d5ca394e1c806035477d360f32f47652bece9bbdf59cd3ad8fc54ee625fe251d"},"1d729ea435a93e1a70519d06a6f13fa418c4c39a52b69e6db86750ebfcdf5554","7aa9f477eb1e44629a34615a451350e4055fec737bdd3a8a7c5234dbb6d29018",{"version":"2ab253fe6ba04388a443a24befc872175ed4c0892b8820888e333746c417a2c1","signature":"d2dde0e18b3ad6e2cab3703826890677ae8f9849c38b0f5b743f308be247a411"},{"version":"d52695b357f5b6954009c798881dbd648844bc9f5c51bae67f68e2757425fc66","signature":"8c98f341ee7fd92545c3399159c2a8c9e5bc45a89da60ae1e094d555681b97cd"},"b1a0b021c2d05b82954d5ccec365ced19feaeb04a1271019ab4db6068cc978dc",{"version":"19cbadcf0e3ae87536e5a5cd9de46e4e87d4a6a022e2e42d145ca03f7bfad55f","signature":"3b35f71853871dea38a9049f16560e32d9aab8506085d6c01a79731398640308"},"f91cc198133b66e544b8638a2e17f68d0ea974063fc084375b8f6a7296282d05","4c2c4f53e8eedd970f8afa369d7371544fb6231bf95e659f8602e09abe74d5a5",{"version":"9c9461d480b1812281abffc647107904970791c170cd0ab97563daa10c6e0171","affectsGlobalScope":true},"c2b5085f47e41d6940bbc5b0d3bd7cc0037c752efb18aecd243c9cf83ad0c0b7","3143a5add0467b83150961ecd33773b561a1207aec727002aa1d70333068eb1b","bdd64e322c4ec2f42a3e311c83ce95ec9d290e6b44d32dd94cc94bd7e01a0ea0","d0fc76a91c828fbe3f0be5d683273634b7b101068333ceed975a8a9ac464137b",{"version":"1a048ff164b8d9609f5de3139d4e37f6e8a82af82087ac414b9208f52ef8aac7","affectsGlobalScope":true},"3111079f3cb5f2b9c812ca3f46161562bce5bfb355e915f46ed46c41714dc1c3","11bf7fc87cd49308e2c0ff41f1d030797b1831e763c0a1b70febc17105f3c82a","b32b6b16cb0bda68199582ad6f22242d07ee75fac9b1f28a98cd838afc5eea45","4441ee4119824bfaebc49308559edd7545978f9cb41a40f115074e1031dde75f",{"version":"60693a88462d0e97900123b5bf7c73e146ce0cc94da46a61fe6775b430d2ff05","affectsGlobalScope":true},{"version":"588c69eda58b9202676ec7ca11a72c3762819b46a0ed72462c769846153c447c","affectsGlobalScope":true},"ae064ed4f855716b7ff348639ddcd6a6d354a72fae82f506608a7dc9266aa24c","92f019c55b21c939616f6a48f678e714ac7b109444cbbf23ad69310ce66ecbdc","bba259efdf9ab95e0c7d3cc8e99250f56bb6b31d6129efdf733ca4eb1d01feea","97f837637f01e274ada9de388e99b1a5c5a82ae4184f8c924209fe201f4ffc9e","139fd681eff7771a38d0c025d13c7a11c5474f6aab61e01c41511d71496df173","f614c3f61e46ccc2cb58702d5a158338ea57ee09099fde5db4cfc63ed0ce4d74","44e42ed6ec9c4451ebe89524e80ac8564e9dd0988c56e6c58f393c810730595d","a504c109b872b0e653549bd258eb06584c148c98d79406c7516995865a6d5089","155865f5f76db0996cd5e20cc5760613ea170ee5ad594c1f3d76fcaa05382161","e92852d673c836fc64e10c38640abcd67c463456e5df55723ac699b8e6ab3a8a","4455c78d226d061b1203c7614c6c6eb5f4f9db5f00d44ff47d0112de8766fbc4",{"version":"ec369bb9d97c4dc09dd2a4093b7ca3ba69ad284831fccac8a1977785e9e38ce5","affectsGlobalScope":true},"4465a636f5f6e9665a90e30691862c9e0a3ac2edc0e66296704f10865e924f2a","9af781f03d44f5635ed7844be0ce370d9d595d4b4ec67cad88f0fac03255257e","f9fd4c3ef6de27fa0e256f4e75b61711c4be05a3399f7714621d3edc832e36b0","e49290b7a927995c0d7e6b2b9c8296284b68a9036d9966531de65185269258d7","aa95cc73ea5315e4f6fc8c6db43d49e3b7de3780cae20a4f1319032809013038","874ca809b79276460011480a2829f4c8d4db29416dd411f71efbf8f497f0ac09","6c903bceaf3f3bc04f2d4c7dcd89ce9fb148b3ba0a5f5408d8f6de2b7eecc7ea","504d049d9e550a65466b73ca39da6469ab41786074ea1d16d37c8853f9f6ab2e","23a28f834a078986bbf58f4e3705956983ff81c3c2493f3db3e5f0e8a9507779","4febdf7f3ec92706c58e0b4e8159cd6de718284ef384260b07c9641c13fc70ce",{"version":"7d0a3356909df08e5df9af2cfd43e8780f24bb12d07b00daaf7ed2a891fa60e5","affectsGlobalScope":true},"7335933d9f30dcfd2c4b6080a8b78e81912a7fcefb1dafccb67ca4cb4b3ac23d","a6bfe9de9adef749010c118104b071d14943802ff0614732b47ce4f1c3e383cd","4c3d0e10396646db4a1e917fb852077ee77ae62e512913bef9cccc2bb0f8bd0e","3b220849d58140dcc6718f5b52dcd29fdb79c45bc28f561cbd29eb1cac6cce13","0ee22fce41f7417a24c808d266e91b850629113c104713a35854393d55994beb","22d1b1d965baba05766613e2e6c753bb005d4386c448cafd72c309ba689e8c24",{"version":"2708349d5a11a5c2e5f3a0765259ebe7ee00cdcc8161cb9990cb4910328442a1","affectsGlobalScope":true},"c6c0bd221bb1e94768e94218f8298e47633495529d60cae7d8da9374247a1cf5","57ddc4e066366bbe04f497f9afce1c88e088dbd09be0618e072754450de3acbb",{"version":"2dadf3a49c8d9c3f65e2ceb870489bf39cf23759337863a90ded962feb8880d8","signature":"36ab75f2013dccfe181a7aab19d70d1d5088fdeb45a005c33479606e34016aba"},{"version":"51833618a96db5e1ff2e28f023aeb7f12a8fed0c47f737b31bd0b68d90771b93","signature":"b7b0ecd8296f5335cf13b09ebb979831f3969a7a7c8e03d6bcba618ba0ca69eb"},{"version":"5e066b89f0944f913bcc5eba60206dc3b3b9056b8be2c4324ac1852739611ab5","signature":"3e255545f498155d138273eb0e71563a6b7ef6ccd274774a31a166ac28648467"},{"version":"ad3210d5328fdd78f098067083f688af2b3aaf720b15b12734252b2d983ed1a5","signature":"725c9ded35c07149509267603d04a74a15e6e152337d5538d9d30864447608d5"},{"version":"c9c8fef1ef7d4bdf6c63686a78f6acd826162ecd12c2cdf2782d8fc8a6dcb3db","signature":"5e3cdc915544f43e870d140d1242efb52e968a3ca7bc2bc2fcd3c4d3d1be5628"},"1cb9948374fe40e08cf5e5c7e4a45a5cc73c0cc8632dbcae69641f14609a0e70",{"version":"644d3ef1bfd575cc343e4402729d2536d97031c85a833ae21a0b18e3dd3044e1","signature":"9c0d5549744e1225e55371b8cd15b7e3b2f5a89b2ec015f9e63949db89418318"},{"version":"0894931f094af3a6865fb3721e6dbc53096d69addf1b40871d93776a22f98d8b","signature":"618ccb7ababec31ff0e23956a575b80978b7e834140835aa98ad96a886d25c69"},{"version":"8933cf1043c68ef8acf35cbce86b1598e75639b27f92e1c31d246f373f4d73b2","signature":"d538d8643ce2f71061fea5ccf88c19298f93602d224f99ae54efebde70be70ca"},"fcb681956716458c7533d3dd9d2353fca10ba8681b243388edb254d1b4fd3699","5caa7eb81a5adab09f3464c74a639f506b63fb7df512295a92859668e7e8aa06"],"root":[36,38,41,[44,48],[94,104]],"options":{"allowSyntheticDefaultImports":true,"declaration":true,"emitDecoratorMetadata":true,"esModuleInterop":true,"experimentalDecorators":true,"module":1,"noFallthroughCasesInSwitch":false,"noImplicitAny":false,"outDir":"./","removeComments":true,"skipLibCheck":true,"sourceMap":true,"strictBindCallApply":false,"strictNullChecks":false,"target":2},"fileIdsList":[[36,38,46,48,99,103],[92],[49],[51],[52,57],[53,61,62,69,78],[53,54,61,69],[55,85],[56,57,62,70],[57,78],[58,59,61,69],[59],[60,61],[61],[61,62,63,78,84],[62,63],[61,64,69,78,84],[61,62,64,65,69,78,81,84],[64,66,78,81,84],[49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91],[61,67],[68,84],[59,61,69,78],[70],[71],[51,72],[73,83],[74],[75],[61,76],[76,77,85,87],[61,78],[79],[80],[69,78,81],[82],[69,83],[64,75,84],[85],[78,86],[87],[88],[61,63,78,84,87,89],[78,90],[38,39,40],[36,38,42,44],[41,45],[36,37],[36],[47],[93],[44,94,95,96,97,98],[38],[43],[37,38],[38,47],[37,78,98],[100,101,102],[36,38,42]],"referencedMap":[[104,1],[93,2],[49,3],[51,4],[52,5],[53,6],[54,7],[55,8],[56,9],[57,10],[58,11],[59,12],[60,13],[61,14],[62,15],[63,16],[64,17],[65,18],[66,19],[92,20],[67,21],[68,22],[69,23],[70,24],[71,25],[72,26],[73,27],[74,28],[75,29],[76,30],[77,31],[78,32],[79,33],[80,34],[81,35],[82,36],[83,37],[84,38],[85,39],[86,40],[87,41],[88,42],[89,43],[90,44],[37,32],[41,45],[45,46],[46,47],[38,48],[47,49],[48,50],[94,51],[99,52],[97,53],[44,54],[98,55],[100,56],[101,57],[103,58],[102,53]],"exportedModulesMap":[[104,1],[93,2],[49,3],[51,4],[52,5],[53,6],[54,7],[55,8],[56,9],[57,10],[58,11],[59,12],[60,13],[61,14],[62,15],[63,16],[64,17],[65,18],[66,19],[92,20],[67,21],[68,22],[69,23],[70,24],[71,25],[72,26],[73,27],[74,28],[75,29],[76,30],[77,31],[78,32],[79,33],[80,34],[81,35],[82,36],[83,37],[84,38],[85,39],[86,40],[87,41],[88,42],[89,43],[90,44],[37,32],[41,45],[45,59],[46,47],[38,48],[47,49],[48,50],[99,52],[97,53],[98,55],[100,56],[101,57],[103,58],[102,53]],"semanticDiagnosticsPerFile":[104,40,43,39,93,49,51,52,53,54,55,56,57,58,59,60,61,62,63,50,91,64,65,66,92,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,42,37,34,35,7,8,12,11,3,13,14,15,16,17,18,19,20,4,5,24,21,22,23,25,26,27,6,28,29,30,31,32,2,1,33,10,9,36,41,45,46,38,47,48,94,95,99,96,97,44,98,100,101,103,102]},"version":"5.0.4"}
|