akeyless-server-commons 1.0.144 → 1.0.146
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/cjs/helpers/tasks_helpers.d.ts +4 -2
- package/dist/cjs/helpers/tasks_helpers.js +9 -4
- package/dist/cjs/helpers/tasks_helpers.js.map +1 -1
- package/dist/cjs/middlewares/global_mw.d.ts +1 -0
- package/dist/cjs/middlewares/global_mw.js +50 -9
- package/dist/cjs/middlewares/global_mw.js.map +1 -1
- package/dist/cjs/types/interfaces/global.d.ts +1 -0
- package/dist/esm/helpers/tasks_helpers.d.ts +4 -2
- package/dist/esm/helpers/tasks_helpers.js +9 -4
- package/dist/esm/helpers/tasks_helpers.js.map +1 -1
- package/dist/esm/middlewares/global_mw.d.ts +1 -0
- package/dist/esm/middlewares/global_mw.js +48 -8
- package/dist/esm/middlewares/global_mw.js.map +1 -1
- package/dist/esm/types/interfaces/global.d.ts +1 -0
- package/package.json +2 -2
|
@@ -13,9 +13,11 @@ export declare enum TaskStatus {
|
|
|
13
13
|
suspeneded = "suspeneded"
|
|
14
14
|
}
|
|
15
15
|
export type TaskSaveOptions = "storage" | "db" | "none";
|
|
16
|
-
export
|
|
16
|
+
export interface ExecuteTaskOptions {
|
|
17
17
|
save_in?: TaskSaveOptions;
|
|
18
|
-
|
|
18
|
+
debug_logs: boolean;
|
|
19
|
+
}
|
|
20
|
+
export declare const execute_task: <T = any>(source: string, task_name: TaskName, task: () => Promise<T>, options?: ExecuteTaskOptions) => Promise<void>;
|
|
19
21
|
export declare const get_task_data: <T = any>(task_name: TaskName) => Promise<T>;
|
|
20
22
|
export declare const get_task_data_from_storage: <T = any>(task_name: TaskName) => Promise<T | null>;
|
|
21
23
|
export declare const keep_task_data_in_storage: (task_name: TaskName, data: any[] | TObject<any>) => Promise<string>;
|
|
@@ -40,6 +40,7 @@ const save_task_data_in_cache = (task_name, data) => {
|
|
|
40
40
|
}
|
|
41
41
|
};
|
|
42
42
|
const execute_task = (source, task_name, task, options) => __awaiter(void 0, void 0, void 0, function* () {
|
|
43
|
+
const { debug_logs = true, save_in } = options || {};
|
|
43
44
|
try {
|
|
44
45
|
yield (0, firebase_helpers_1.set_document)("nx-tasks", task_name, {
|
|
45
46
|
source,
|
|
@@ -48,7 +49,9 @@ const execute_task = (source, task_name, task, options) => __awaiter(void 0, voi
|
|
|
48
49
|
timestamp: new Date(),
|
|
49
50
|
error: "",
|
|
50
51
|
}, false);
|
|
51
|
-
|
|
52
|
+
if (debug_logs) {
|
|
53
|
+
managers_1.logger.log(`Task [${task_name}] started`);
|
|
54
|
+
}
|
|
52
55
|
const start = performance.now();
|
|
53
56
|
const data = yield task();
|
|
54
57
|
const update = {
|
|
@@ -57,10 +60,10 @@ const execute_task = (source, task_name, task, options) => __awaiter(void 0, voi
|
|
|
57
60
|
timestamp: new Date(),
|
|
58
61
|
};
|
|
59
62
|
if (data) {
|
|
60
|
-
if (
|
|
63
|
+
if (save_in === "none") {
|
|
61
64
|
update.data = "no data to save";
|
|
62
65
|
}
|
|
63
|
-
else if (
|
|
66
|
+
else if (save_in === "storage" && typeof data === "object") {
|
|
64
67
|
save_task_data_in_cache(task_name, data);
|
|
65
68
|
const url = yield (0, exports.keep_task_data_in_storage)(task_name, data);
|
|
66
69
|
update.data = url;
|
|
@@ -74,7 +77,9 @@ const execute_task = (source, task_name, task, options) => __awaiter(void 0, voi
|
|
|
74
77
|
update.data = "no data to save";
|
|
75
78
|
}
|
|
76
79
|
yield (0, firebase_helpers_1.set_document)("nx-tasks", task_name, update);
|
|
77
|
-
|
|
80
|
+
if (debug_logs) {
|
|
81
|
+
managers_1.logger.log(`Task [${task_name}] ended. It took ${Math.round(performance.now() - start)} ms`);
|
|
82
|
+
}
|
|
78
83
|
}
|
|
79
84
|
catch (exception) {
|
|
80
85
|
const error_for_db = exception instanceof Error ? exception.message : exception;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tasks_helpers.js","sourceRoot":"","sources":["../../../src/helpers/tasks_helpers.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AACA,0CAAoD;AACpD,yDAA+E;AAC/E,oEAAmC;AAEnC,IAAY,QAMX;AAND,WAAY,QAAQ;IAChB,6CAAiC,CAAA;IACjC,6DAAiD,CAAA;IACjD,+DAAmD,CAAA;IACnD,iEAAqD,CAAA;IACrD,uDAA2C,CAAA;AAC/C,CAAC,EANW,QAAQ,wBAAR,QAAQ,QAMnB;AAED,IAAY,UAKX;AALD,WAAY,UAAU;IAClB,iCAAmB,CAAA;IACnB,qCAAuB,CAAA;IACvB,+BAAiB,CAAA;IACjB,uCAAyB,CAAA;AAC7B,CAAC,EALW,UAAU,0BAAV,UAAU,QAKrB;AAID,MAAM,uBAAuB,GAAG,CAAC,SAAmB,EAAE,IAA0B,EAAE,EAAE;IAChF,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACtB,wBAAa,CAAC,YAAY,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAChD,CAAC;SAAM,CAAC;QACJ,wBAAa,CAAC,aAAa,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IACjD,CAAC;AACL,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"tasks_helpers.js","sourceRoot":"","sources":["../../../src/helpers/tasks_helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { RequestHandler } from "express";
|
|
2
2
|
import { LogRequests, MandatoryParams, MW } from "../types";
|
|
3
3
|
export declare const mandatory: ({ body, headers }: MandatoryParams) => MW;
|
|
4
|
+
export declare const optional: ({ body, headers }: MandatoryParams) => MW;
|
|
4
5
|
export declare const request_logger: (log_requests: LogRequests) => RequestHandler;
|
|
@@ -1,11 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.request_logger = exports.mandatory = void 0;
|
|
3
|
+
exports.request_logger = exports.optional = exports.mandatory = void 0;
|
|
4
4
|
const helpers_1 = require("../helpers");
|
|
5
5
|
const managers_1 = require("../managers");
|
|
6
|
-
const validateParameter = (data, parameter) => {
|
|
6
|
+
const validateParameter = (data, parameter, is_mandatory) => {
|
|
7
7
|
if (data[parameter.key] === undefined) {
|
|
8
|
-
|
|
8
|
+
if (is_mandatory) {
|
|
9
|
+
throw `missing mandatory parameter: ${parameter.key}`;
|
|
10
|
+
}
|
|
11
|
+
else {
|
|
12
|
+
return;
|
|
13
|
+
}
|
|
9
14
|
}
|
|
10
15
|
if (parameter.type === "array" && !Array.isArray(data[parameter.key])) {
|
|
11
16
|
throw `parameter ${parameter.key} must be of type: Array`;
|
|
@@ -13,9 +18,22 @@ const validateParameter = (data, parameter) => {
|
|
|
13
18
|
if (typeof data[parameter.key] !== parameter.type && parameter.type !== "array") {
|
|
14
19
|
throw `parameter ${parameter.key} must be of type: ${parameter.type}`;
|
|
15
20
|
}
|
|
16
|
-
if (
|
|
17
|
-
|
|
18
|
-
|
|
21
|
+
if (parameter.type === "string" && parameter.length && data[parameter.key].length < parameter.length) {
|
|
22
|
+
throw `parameter ${parameter.key} must be string and must have minimum length of: ${parameter.length}`;
|
|
23
|
+
}
|
|
24
|
+
const is_array = Array.isArray(data[parameter.key]);
|
|
25
|
+
if (is_array) {
|
|
26
|
+
if (parameter.length && data[parameter.key].length < parameter.length) {
|
|
27
|
+
throw `parameter ${parameter.key} must be array and must have minimum length of: ${parameter.length}`;
|
|
28
|
+
}
|
|
29
|
+
if (Array.isArray(parameter.array_types) && parameter.array_types.length > 0) {
|
|
30
|
+
data[parameter.key].forEach((item, index) => {
|
|
31
|
+
const item_type = typeof item;
|
|
32
|
+
if (!parameter.array_types.includes(item_type)) {
|
|
33
|
+
throw `item at index ${index} in parameter ${parameter.key} must be of type: ${parameter.array_types.join(" | ")}`;
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
}
|
|
19
37
|
}
|
|
20
38
|
if (parameter.type === "object" && parameter.required_keys) {
|
|
21
39
|
const missingKeys = parameter.required_keys.filter((key) => data[parameter.key][key] === undefined);
|
|
@@ -37,22 +55,45 @@ const mandatory = ({ body, headers }) => {
|
|
|
37
55
|
const headers_data = req.headers;
|
|
38
56
|
if (body) {
|
|
39
57
|
body.forEach((parameter) => {
|
|
40
|
-
validateParameter(body_data, parameter);
|
|
58
|
+
validateParameter(body_data, parameter, true);
|
|
41
59
|
});
|
|
42
60
|
}
|
|
43
61
|
if (headers) {
|
|
44
62
|
headers.forEach((parameter) => {
|
|
45
|
-
validateParameter(headers_data, parameter);
|
|
63
|
+
validateParameter(headers_data, parameter, true);
|
|
46
64
|
});
|
|
47
65
|
}
|
|
48
66
|
next();
|
|
49
67
|
}
|
|
50
68
|
catch (error) {
|
|
51
|
-
return res.
|
|
69
|
+
return res.send((0, helpers_1.json_failed)(error));
|
|
52
70
|
}
|
|
53
71
|
};
|
|
54
72
|
};
|
|
55
73
|
exports.mandatory = mandatory;
|
|
74
|
+
const optional = ({ body, headers }) => {
|
|
75
|
+
return (req, res, next) => {
|
|
76
|
+
try {
|
|
77
|
+
const body_data = req.body;
|
|
78
|
+
const headers_data = req.headers;
|
|
79
|
+
if (body) {
|
|
80
|
+
body.forEach((parameter) => {
|
|
81
|
+
validateParameter(body_data, parameter, false);
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
if (headers) {
|
|
85
|
+
headers.forEach((parameter) => {
|
|
86
|
+
validateParameter(headers_data, parameter, false);
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
next();
|
|
90
|
+
}
|
|
91
|
+
catch (error) {
|
|
92
|
+
return res.send((0, helpers_1.json_failed)(error));
|
|
93
|
+
}
|
|
94
|
+
};
|
|
95
|
+
};
|
|
96
|
+
exports.optional = optional;
|
|
56
97
|
const request_logger = (log_requests) => {
|
|
57
98
|
return (req, res, next) => {
|
|
58
99
|
if ((log_requests === null || log_requests === void 0 ? void 0 : log_requests.url) || (log_requests === null || log_requests === void 0 ? void 0 : log_requests.headers) || (log_requests === null || log_requests === void 0 ? void 0 : log_requests.query) || (log_requests === null || log_requests === void 0 ? void 0 : log_requests.body)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"global_mw.js","sourceRoot":"","sources":["../../../src/middlewares/global_mw.ts"],"names":[],"mappings":";;;AACA,wCAAyC;AAEzC,0CAAqC;AAErC,MAAM,iBAAiB,GAAG,CAAC,IAAS,EAAE,SAA0B,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"global_mw.js","sourceRoot":"","sources":["../../../src/middlewares/global_mw.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@ export interface MandatoryObject {
|
|
|
4
4
|
type: "string" | "number" | "boolean" | "object" | "array";
|
|
5
5
|
length?: number;
|
|
6
6
|
required_keys?: string[];
|
|
7
|
+
array_types?: ("string" | "number" | "boolean" | "object")[];
|
|
7
8
|
}
|
|
8
9
|
export interface MandatoryParams {
|
|
9
10
|
body?: MandatoryObject[];
|
|
@@ -13,9 +13,11 @@ export declare enum TaskStatus {
|
|
|
13
13
|
suspeneded = "suspeneded"
|
|
14
14
|
}
|
|
15
15
|
export type TaskSaveOptions = "storage" | "db" | "none";
|
|
16
|
-
export
|
|
16
|
+
export interface ExecuteTaskOptions {
|
|
17
17
|
save_in?: TaskSaveOptions;
|
|
18
|
-
|
|
18
|
+
debug_logs: boolean;
|
|
19
|
+
}
|
|
20
|
+
export declare const execute_task: <T = any>(source: string, task_name: TaskName, task: () => Promise<T>, options?: ExecuteTaskOptions) => Promise<void>;
|
|
19
21
|
export declare const get_task_data: <T = any>(task_name: TaskName) => Promise<T>;
|
|
20
22
|
export declare const get_task_data_from_storage: <T = any>(task_name: TaskName) => Promise<T | null>;
|
|
21
23
|
export declare const keep_task_data_in_storage: (task_name: TaskName, data: any[] | TObject<any>) => Promise<string>;
|
|
@@ -34,6 +34,7 @@ const save_task_data_in_cache = (task_name, data) => {
|
|
|
34
34
|
}
|
|
35
35
|
};
|
|
36
36
|
export const execute_task = (source, task_name, task, options) => __awaiter(void 0, void 0, void 0, function* () {
|
|
37
|
+
const { debug_logs = true, save_in } = options || {};
|
|
37
38
|
try {
|
|
38
39
|
yield set_document("nx-tasks", task_name, {
|
|
39
40
|
source,
|
|
@@ -42,7 +43,9 @@ export const execute_task = (source, task_name, task, options) => __awaiter(void
|
|
|
42
43
|
timestamp: new Date(),
|
|
43
44
|
error: "",
|
|
44
45
|
}, false);
|
|
45
|
-
|
|
46
|
+
if (debug_logs) {
|
|
47
|
+
logger.log(`Task [${task_name}] started`);
|
|
48
|
+
}
|
|
46
49
|
const start = performance.now();
|
|
47
50
|
const data = yield task();
|
|
48
51
|
const update = {
|
|
@@ -51,10 +54,10 @@ export const execute_task = (source, task_name, task, options) => __awaiter(void
|
|
|
51
54
|
timestamp: new Date(),
|
|
52
55
|
};
|
|
53
56
|
if (data) {
|
|
54
|
-
if (
|
|
57
|
+
if (save_in === "none") {
|
|
55
58
|
update.data = "no data to save";
|
|
56
59
|
}
|
|
57
|
-
else if (
|
|
60
|
+
else if (save_in === "storage" && typeof data === "object") {
|
|
58
61
|
save_task_data_in_cache(task_name, data);
|
|
59
62
|
const url = yield keep_task_data_in_storage(task_name, data);
|
|
60
63
|
update.data = url;
|
|
@@ -68,7 +71,9 @@ export const execute_task = (source, task_name, task, options) => __awaiter(void
|
|
|
68
71
|
update.data = "no data to save";
|
|
69
72
|
}
|
|
70
73
|
yield set_document("nx-tasks", task_name, update);
|
|
71
|
-
|
|
74
|
+
if (debug_logs) {
|
|
75
|
+
logger.log(`Task [${task_name}] ended. It took ${Math.round(performance.now() - start)} ms`);
|
|
76
|
+
}
|
|
72
77
|
}
|
|
73
78
|
catch (exception) {
|
|
74
79
|
const error_for_db = exception instanceof Error ? exception.message : exception;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tasks_helpers.js","sourceRoot":"","sources":["../../../src/helpers/tasks_helpers.ts"],"names":[],"mappings":";;;;;;;;;AACA,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,2BAA2B,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC/E,OAAO,KAAK,MAAM,gBAAgB,CAAC;AAEnC,MAAM,CAAN,IAAY,QAMX;AAND,WAAY,QAAQ;IAChB,6CAAiC,CAAA;IACjC,6DAAiD,CAAA;IACjD,+DAAmD,CAAA;IACnD,iEAAqD,CAAA;IACrD,uDAA2C,CAAA;AAC/C,CAAC,EANW,QAAQ,KAAR,QAAQ,QAMnB;AAED,MAAM,CAAN,IAAY,UAKX;AALD,WAAY,UAAU;IAClB,iCAAmB,CAAA;IACnB,qCAAuB,CAAA;IACvB,+BAAiB,CAAA;IACjB,uCAAyB,CAAA;AAC7B,CAAC,EALW,UAAU,KAAV,UAAU,QAKrB;AAID,MAAM,uBAAuB,GAAG,CAAC,SAAmB,EAAE,IAA0B,EAAE,EAAE;IAChF,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACtB,aAAa,CAAC,YAAY,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAChD,CAAC;SAAM,CAAC;QACJ,aAAa,CAAC,aAAa,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IACjD,CAAC;AACL,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"tasks_helpers.js","sourceRoot":"","sources":["../../../src/helpers/tasks_helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { RequestHandler } from "express";
|
|
2
2
|
import { LogRequests, MandatoryParams, MW } from "../types";
|
|
3
3
|
export declare const mandatory: ({ body, headers }: MandatoryParams) => MW;
|
|
4
|
+
export declare const optional: ({ body, headers }: MandatoryParams) => MW;
|
|
4
5
|
export declare const request_logger: (log_requests: LogRequests) => RequestHandler;
|
|
@@ -1,8 +1,13 @@
|
|
|
1
1
|
import { json_failed } from "../helpers";
|
|
2
2
|
import { logger } from "../managers";
|
|
3
|
-
const validateParameter = (data, parameter) => {
|
|
3
|
+
const validateParameter = (data, parameter, is_mandatory) => {
|
|
4
4
|
if (data[parameter.key] === undefined) {
|
|
5
|
-
|
|
5
|
+
if (is_mandatory) {
|
|
6
|
+
throw `missing mandatory parameter: ${parameter.key}`;
|
|
7
|
+
}
|
|
8
|
+
else {
|
|
9
|
+
return;
|
|
10
|
+
}
|
|
6
11
|
}
|
|
7
12
|
if (parameter.type === "array" && !Array.isArray(data[parameter.key])) {
|
|
8
13
|
throw `parameter ${parameter.key} must be of type: Array`;
|
|
@@ -10,9 +15,22 @@ const validateParameter = (data, parameter) => {
|
|
|
10
15
|
if (typeof data[parameter.key] !== parameter.type && parameter.type !== "array") {
|
|
11
16
|
throw `parameter ${parameter.key} must be of type: ${parameter.type}`;
|
|
12
17
|
}
|
|
13
|
-
if (
|
|
14
|
-
|
|
15
|
-
|
|
18
|
+
if (parameter.type === "string" && parameter.length && data[parameter.key].length < parameter.length) {
|
|
19
|
+
throw `parameter ${parameter.key} must be string and must have minimum length of: ${parameter.length}`;
|
|
20
|
+
}
|
|
21
|
+
const is_array = Array.isArray(data[parameter.key]);
|
|
22
|
+
if (is_array) {
|
|
23
|
+
if (parameter.length && data[parameter.key].length < parameter.length) {
|
|
24
|
+
throw `parameter ${parameter.key} must be array and must have minimum length of: ${parameter.length}`;
|
|
25
|
+
}
|
|
26
|
+
if (Array.isArray(parameter.array_types) && parameter.array_types.length > 0) {
|
|
27
|
+
data[parameter.key].forEach((item, index) => {
|
|
28
|
+
const item_type = typeof item;
|
|
29
|
+
if (!parameter.array_types.includes(item_type)) {
|
|
30
|
+
throw `item at index ${index} in parameter ${parameter.key} must be of type: ${parameter.array_types.join(" | ")}`;
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
}
|
|
16
34
|
}
|
|
17
35
|
if (parameter.type === "object" && parameter.required_keys) {
|
|
18
36
|
const missingKeys = parameter.required_keys.filter((key) => data[parameter.key][key] === undefined);
|
|
@@ -34,18 +52,40 @@ export const mandatory = ({ body, headers }) => {
|
|
|
34
52
|
const headers_data = req.headers;
|
|
35
53
|
if (body) {
|
|
36
54
|
body.forEach((parameter) => {
|
|
37
|
-
validateParameter(body_data, parameter);
|
|
55
|
+
validateParameter(body_data, parameter, true);
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
if (headers) {
|
|
59
|
+
headers.forEach((parameter) => {
|
|
60
|
+
validateParameter(headers_data, parameter, true);
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
next();
|
|
64
|
+
}
|
|
65
|
+
catch (error) {
|
|
66
|
+
return res.send(json_failed(error));
|
|
67
|
+
}
|
|
68
|
+
};
|
|
69
|
+
};
|
|
70
|
+
export const optional = ({ body, headers }) => {
|
|
71
|
+
return (req, res, next) => {
|
|
72
|
+
try {
|
|
73
|
+
const body_data = req.body;
|
|
74
|
+
const headers_data = req.headers;
|
|
75
|
+
if (body) {
|
|
76
|
+
body.forEach((parameter) => {
|
|
77
|
+
validateParameter(body_data, parameter, false);
|
|
38
78
|
});
|
|
39
79
|
}
|
|
40
80
|
if (headers) {
|
|
41
81
|
headers.forEach((parameter) => {
|
|
42
|
-
validateParameter(headers_data, parameter);
|
|
82
|
+
validateParameter(headers_data, parameter, false);
|
|
43
83
|
});
|
|
44
84
|
}
|
|
45
85
|
next();
|
|
46
86
|
}
|
|
47
87
|
catch (error) {
|
|
48
|
-
return res.
|
|
88
|
+
return res.send(json_failed(error));
|
|
49
89
|
}
|
|
50
90
|
};
|
|
51
91
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"global_mw.js","sourceRoot":"","sources":["../../../src/middlewares/global_mw.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,MAAM,iBAAiB,GAAG,CAAC,IAAS,EAAE,SAA0B,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"global_mw.js","sourceRoot":"","sources":["../../../src/middlewares/global_mw.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@ export interface MandatoryObject {
|
|
|
4
4
|
type: "string" | "number" | "boolean" | "object" | "array";
|
|
5
5
|
length?: number;
|
|
6
6
|
required_keys?: string[];
|
|
7
|
+
array_types?: ("string" | "number" | "boolean" | "object")[];
|
|
7
8
|
}
|
|
8
9
|
export interface MandatoryParams {
|
|
9
10
|
body?: MandatoryObject[];
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "akeyless-server-commons",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.146",
|
|
4
4
|
"scripts": {
|
|
5
5
|
"build:cjs": "tsc --project tsconfig.cjs.json",
|
|
6
6
|
"build:esm": "tsc --project tsconfig.esm.json",
|
|
@@ -75,7 +75,7 @@
|
|
|
75
75
|
},
|
|
76
76
|
"dependencies": {
|
|
77
77
|
"@sendgrid/mail": "^8.1.3",
|
|
78
|
-
"akeyless-types-commons": "^1.0.
|
|
78
|
+
"akeyless-types-commons": "^1.0.71",
|
|
79
79
|
"form-data": "^4.0.1",
|
|
80
80
|
"ioredis": "^5.8.0",
|
|
81
81
|
"tsup": "^8.3.5",
|