akeyless-server-commons 1.0.136-test.4 → 1.0.136-test.5
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.
|
@@ -19,6 +19,7 @@ const keys_1 = require("./keys");
|
|
|
19
19
|
const global_helpers_1 = require("../global_helpers");
|
|
20
20
|
const managers_1 = require("../../managers");
|
|
21
21
|
const firebase_helpers_1 = require("../firebase_helpers");
|
|
22
|
+
const firestore_1 = require("firebase-admin/firestore");
|
|
22
23
|
const { redis_ip } = (0, global_helpers_1.init_env_variables)(["redis_ip"]);
|
|
23
24
|
exports.redis_commander = new ioredis_1.default({ host: redis_ip });
|
|
24
25
|
exports.redis_listener = new ioredis_1.default({ host: redis_ip });
|
|
@@ -60,36 +61,37 @@ const cache_snapshots_bulk = (configs) => __awaiter(void 0, void 0, void 0, func
|
|
|
60
61
|
return;
|
|
61
62
|
}
|
|
62
63
|
const { on_add, on_remove, on_modify, extra_parsers, parse_as } = config;
|
|
64
|
+
const update = [convert_object_timestamps(doc)];
|
|
63
65
|
switch (update_type) {
|
|
64
66
|
case "add":
|
|
65
67
|
if (parse_as === "object") {
|
|
66
|
-
(0, firebase_helpers_1.parse_add_update_as_object)(
|
|
68
|
+
(0, firebase_helpers_1.parse_add_update_as_object)(update, config);
|
|
67
69
|
}
|
|
68
70
|
if (parse_as === "array") {
|
|
69
|
-
(0, firebase_helpers_1.parse_add_update_as_array)(
|
|
71
|
+
(0, firebase_helpers_1.parse_add_update_as_array)(update, config);
|
|
70
72
|
}
|
|
71
|
-
on_add === null || on_add === void 0 ? void 0 : on_add(
|
|
72
|
-
extra_parsers === null || extra_parsers === void 0 ? void 0 : extra_parsers.forEach((parser) => { var _a; return (_a = parser === null || parser === void 0 ? void 0 : parser.on_add) === null || _a === void 0 ? void 0 : _a.call(parser,
|
|
73
|
+
on_add === null || on_add === void 0 ? void 0 : on_add(update, config);
|
|
74
|
+
extra_parsers === null || extra_parsers === void 0 ? void 0 : extra_parsers.forEach((parser) => { var _a; return (_a = parser === null || parser === void 0 ? void 0 : parser.on_add) === null || _a === void 0 ? void 0 : _a.call(parser, update, config); });
|
|
73
75
|
break;
|
|
74
76
|
case "delete":
|
|
75
77
|
if (parse_as === "object") {
|
|
76
|
-
(0, firebase_helpers_1.parse_delete_as_object)(
|
|
78
|
+
(0, firebase_helpers_1.parse_delete_as_object)(update, config);
|
|
77
79
|
}
|
|
78
80
|
if (parse_as === "array") {
|
|
79
|
-
(0, firebase_helpers_1.parse_delete_as_array)(
|
|
81
|
+
(0, firebase_helpers_1.parse_delete_as_array)(update, config);
|
|
80
82
|
}
|
|
81
|
-
on_remove === null || on_remove === void 0 ? void 0 : on_remove(
|
|
82
|
-
extra_parsers === null || extra_parsers === void 0 ? void 0 : extra_parsers.forEach((parser) => { var _a; return (_a = parser === null || parser === void 0 ? void 0 : parser.on_remove) === null || _a === void 0 ? void 0 : _a.call(parser,
|
|
83
|
+
on_remove === null || on_remove === void 0 ? void 0 : on_remove(update, config);
|
|
84
|
+
extra_parsers === null || extra_parsers === void 0 ? void 0 : extra_parsers.forEach((parser) => { var _a; return (_a = parser === null || parser === void 0 ? void 0 : parser.on_remove) === null || _a === void 0 ? void 0 : _a.call(parser, update, config); });
|
|
83
85
|
break;
|
|
84
86
|
case "update":
|
|
85
87
|
if (parse_as === "object") {
|
|
86
|
-
(0, firebase_helpers_1.parse_add_update_as_object)(
|
|
88
|
+
(0, firebase_helpers_1.parse_add_update_as_object)(update, config);
|
|
87
89
|
}
|
|
88
90
|
if (parse_as === "array") {
|
|
89
|
-
(0, firebase_helpers_1.parse_add_update_as_array)(
|
|
91
|
+
(0, firebase_helpers_1.parse_add_update_as_array)(update, config);
|
|
90
92
|
}
|
|
91
|
-
on_modify === null || on_modify === void 0 ? void 0 : on_modify(
|
|
92
|
-
extra_parsers === null || extra_parsers === void 0 ? void 0 : extra_parsers.forEach((parser) => { var _a; return (_a = parser === null || parser === void 0 ? void 0 : parser.on_modify) === null || _a === void 0 ? void 0 : _a.call(parser,
|
|
93
|
+
on_modify === null || on_modify === void 0 ? void 0 : on_modify(update, config);
|
|
94
|
+
extra_parsers === null || extra_parsers === void 0 ? void 0 : extra_parsers.forEach((parser) => { var _a; return (_a = parser === null || parser === void 0 ? void 0 : parser.on_modify) === null || _a === void 0 ? void 0 : _a.call(parser, update, config); });
|
|
93
95
|
break;
|
|
94
96
|
default:
|
|
95
97
|
break;
|
|
@@ -104,6 +106,15 @@ const get_collection_data = (collection_name) => __awaiter(void 0, void 0, void
|
|
|
104
106
|
const values = yield exports.redis_commander.mget(keys);
|
|
105
107
|
collection_data = values.filter(Boolean).map((v) => JSON.parse(v).data);
|
|
106
108
|
}
|
|
107
|
-
return collection_data;
|
|
109
|
+
return collection_data.map((data) => convert_object_timestamps(data));
|
|
108
110
|
});
|
|
111
|
+
const convert_object_timestamps = (date) => {
|
|
112
|
+
Object.entries(date).forEach(([key, value]) => {
|
|
113
|
+
const role = typeof value === "object" && value._seconds;
|
|
114
|
+
if (role) {
|
|
115
|
+
date[key] = new firestore_1.Timestamp(value._seconds, value._nanoseconds);
|
|
116
|
+
}
|
|
117
|
+
});
|
|
118
|
+
return date;
|
|
119
|
+
};
|
|
109
120
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/helpers/redis/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,sDAA4B;AAC5B,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/helpers/redis/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,6 +13,7 @@ import { get_collection_keys, scan_redis_keys } from "./keys";
|
|
|
13
13
|
import { init_env_variables } from "../global_helpers";
|
|
14
14
|
import { logger } from "../../managers";
|
|
15
15
|
import { parse_add_update_as_array, parse_add_update_as_object, parse_delete_as_array, parse_delete_as_object } from "../firebase_helpers";
|
|
16
|
+
import { Timestamp } from "firebase-admin/firestore";
|
|
16
17
|
const { redis_ip } = init_env_variables(["redis_ip"]);
|
|
17
18
|
export const redis_commander = new Redis({ host: redis_ip });
|
|
18
19
|
export const redis_listener = new Redis({ host: redis_ip });
|
|
@@ -54,36 +55,37 @@ export const cache_snapshots_bulk = (configs) => __awaiter(void 0, void 0, void
|
|
|
54
55
|
return;
|
|
55
56
|
}
|
|
56
57
|
const { on_add, on_remove, on_modify, extra_parsers, parse_as } = config;
|
|
58
|
+
const update = [convert_object_timestamps(doc)];
|
|
57
59
|
switch (update_type) {
|
|
58
60
|
case "add":
|
|
59
61
|
if (parse_as === "object") {
|
|
60
|
-
parse_add_update_as_object(
|
|
62
|
+
parse_add_update_as_object(update, config);
|
|
61
63
|
}
|
|
62
64
|
if (parse_as === "array") {
|
|
63
|
-
parse_add_update_as_array(
|
|
65
|
+
parse_add_update_as_array(update, config);
|
|
64
66
|
}
|
|
65
|
-
on_add === null || on_add === void 0 ? void 0 : on_add(
|
|
66
|
-
extra_parsers === null || extra_parsers === void 0 ? void 0 : extra_parsers.forEach((parser) => { var _a; return (_a = parser === null || parser === void 0 ? void 0 : parser.on_add) === null || _a === void 0 ? void 0 : _a.call(parser,
|
|
67
|
+
on_add === null || on_add === void 0 ? void 0 : on_add(update, config);
|
|
68
|
+
extra_parsers === null || extra_parsers === void 0 ? void 0 : extra_parsers.forEach((parser) => { var _a; return (_a = parser === null || parser === void 0 ? void 0 : parser.on_add) === null || _a === void 0 ? void 0 : _a.call(parser, update, config); });
|
|
67
69
|
break;
|
|
68
70
|
case "delete":
|
|
69
71
|
if (parse_as === "object") {
|
|
70
|
-
parse_delete_as_object(
|
|
72
|
+
parse_delete_as_object(update, config);
|
|
71
73
|
}
|
|
72
74
|
if (parse_as === "array") {
|
|
73
|
-
parse_delete_as_array(
|
|
75
|
+
parse_delete_as_array(update, config);
|
|
74
76
|
}
|
|
75
|
-
on_remove === null || on_remove === void 0 ? void 0 : on_remove(
|
|
76
|
-
extra_parsers === null || extra_parsers === void 0 ? void 0 : extra_parsers.forEach((parser) => { var _a; return (_a = parser === null || parser === void 0 ? void 0 : parser.on_remove) === null || _a === void 0 ? void 0 : _a.call(parser,
|
|
77
|
+
on_remove === null || on_remove === void 0 ? void 0 : on_remove(update, config);
|
|
78
|
+
extra_parsers === null || extra_parsers === void 0 ? void 0 : extra_parsers.forEach((parser) => { var _a; return (_a = parser === null || parser === void 0 ? void 0 : parser.on_remove) === null || _a === void 0 ? void 0 : _a.call(parser, update, config); });
|
|
77
79
|
break;
|
|
78
80
|
case "update":
|
|
79
81
|
if (parse_as === "object") {
|
|
80
|
-
parse_add_update_as_object(
|
|
82
|
+
parse_add_update_as_object(update, config);
|
|
81
83
|
}
|
|
82
84
|
if (parse_as === "array") {
|
|
83
|
-
parse_add_update_as_array(
|
|
85
|
+
parse_add_update_as_array(update, config);
|
|
84
86
|
}
|
|
85
|
-
on_modify === null || on_modify === void 0 ? void 0 : on_modify(
|
|
86
|
-
extra_parsers === null || extra_parsers === void 0 ? void 0 : extra_parsers.forEach((parser) => { var _a; return (_a = parser === null || parser === void 0 ? void 0 : parser.on_modify) === null || _a === void 0 ? void 0 : _a.call(parser,
|
|
87
|
+
on_modify === null || on_modify === void 0 ? void 0 : on_modify(update, config);
|
|
88
|
+
extra_parsers === null || extra_parsers === void 0 ? void 0 : extra_parsers.forEach((parser) => { var _a; return (_a = parser === null || parser === void 0 ? void 0 : parser.on_modify) === null || _a === void 0 ? void 0 : _a.call(parser, update, config); });
|
|
87
89
|
break;
|
|
88
90
|
default:
|
|
89
91
|
break;
|
|
@@ -97,6 +99,15 @@ const get_collection_data = (collection_name) => __awaiter(void 0, void 0, void
|
|
|
97
99
|
const values = yield redis_commander.mget(keys);
|
|
98
100
|
collection_data = values.filter(Boolean).map((v) => JSON.parse(v).data);
|
|
99
101
|
}
|
|
100
|
-
return collection_data;
|
|
102
|
+
return collection_data.map((data) => convert_object_timestamps(data));
|
|
101
103
|
});
|
|
104
|
+
const convert_object_timestamps = (date) => {
|
|
105
|
+
Object.entries(date).forEach(([key, value]) => {
|
|
106
|
+
const role = typeof value === "object" && value._seconds;
|
|
107
|
+
if (role) {
|
|
108
|
+
date[key] = new Timestamp(value._seconds, value._nanoseconds);
|
|
109
|
+
}
|
|
110
|
+
});
|
|
111
|
+
return date;
|
|
112
|
+
};
|
|
102
113
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/helpers/redis/index.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,KAAK,MAAM,SAAS,CAAC;AAC5B,OAAO,EAAE,oBAAoB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/helpers/redis/index.ts"],"names":[],"mappings":"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"}
|