akeyless-client-commons 1.1.22 → 1.1.24
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/components/index.js +315 -6
- package/dist/components/index.mjs +315 -6
- package/dist/components/index.mjs.map +1 -1
- package/dist/helpers/index.d.mts +44 -4
- package/dist/helpers/index.d.ts +44 -4
- package/dist/helpers/index.js +346 -0
- package/dist/helpers/index.mjs +335 -1
- package/dist/hooks/index.d.mts +27 -8
- package/dist/hooks/index.d.ts +27 -8
- package/dist/hooks/index.js +619 -66
- package/dist/hooks/index.mjs +609 -64
- package/dist/types/index.d.mts +2 -0
- package/dist/types/index.d.ts +2 -0
- package/package.json +5 -2
package/dist/hooks/index.js
CHANGED
|
@@ -1,4 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
function _array_like_to_array(arr, len) {
|
|
3
|
+
if (len == null || len > arr.length) len = arr.length;
|
|
4
|
+
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
|
|
5
|
+
return arr2;
|
|
6
|
+
}
|
|
7
|
+
function _array_with_holes(arr) {
|
|
8
|
+
if (Array.isArray(arr)) return arr;
|
|
9
|
+
}
|
|
10
|
+
function _array_without_holes(arr) {
|
|
11
|
+
if (Array.isArray(arr)) return _array_like_to_array(arr);
|
|
12
|
+
}
|
|
2
13
|
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
|
|
3
14
|
try {
|
|
4
15
|
var info = gen[key](arg);
|
|
@@ -28,6 +39,25 @@ function _async_to_generator(fn) {
|
|
|
28
39
|
});
|
|
29
40
|
};
|
|
30
41
|
}
|
|
42
|
+
function _class_call_check(instance, Constructor) {
|
|
43
|
+
if (!(instance instanceof Constructor)) {
|
|
44
|
+
throw new TypeError("Cannot call a class as a function");
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
function _defineProperties(target, props) {
|
|
48
|
+
for(var i = 0; i < props.length; i++){
|
|
49
|
+
var descriptor = props[i];
|
|
50
|
+
descriptor.enumerable = descriptor.enumerable || false;
|
|
51
|
+
descriptor.configurable = true;
|
|
52
|
+
if ("value" in descriptor) descriptor.writable = true;
|
|
53
|
+
Object.defineProperty(target, descriptor.key, descriptor);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
function _create_class(Constructor, protoProps, staticProps) {
|
|
57
|
+
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
|
58
|
+
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
59
|
+
return Constructor;
|
|
60
|
+
}
|
|
31
61
|
function _define_property(obj, key, value) {
|
|
32
62
|
if (key in obj) {
|
|
33
63
|
Object.defineProperty(obj, key, {
|
|
@@ -41,6 +71,39 @@ function _define_property(obj, key, value) {
|
|
|
41
71
|
}
|
|
42
72
|
return obj;
|
|
43
73
|
}
|
|
74
|
+
function _iterable_to_array(iter) {
|
|
75
|
+
if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
|
|
76
|
+
}
|
|
77
|
+
function _iterable_to_array_limit(arr, i) {
|
|
78
|
+
var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
|
|
79
|
+
if (_i == null) return;
|
|
80
|
+
var _arr = [];
|
|
81
|
+
var _n = true;
|
|
82
|
+
var _d = false;
|
|
83
|
+
var _s, _e;
|
|
84
|
+
try {
|
|
85
|
+
for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){
|
|
86
|
+
_arr.push(_s.value);
|
|
87
|
+
if (i && _arr.length === i) break;
|
|
88
|
+
}
|
|
89
|
+
} catch (err) {
|
|
90
|
+
_d = true;
|
|
91
|
+
_e = err;
|
|
92
|
+
} finally{
|
|
93
|
+
try {
|
|
94
|
+
if (!_n && _i["return"] != null) _i["return"]();
|
|
95
|
+
} finally{
|
|
96
|
+
if (_d) throw _e;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
return _arr;
|
|
100
|
+
}
|
|
101
|
+
function _non_iterable_rest() {
|
|
102
|
+
throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
103
|
+
}
|
|
104
|
+
function _non_iterable_spread() {
|
|
105
|
+
throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
106
|
+
}
|
|
44
107
|
function _object_spread(target) {
|
|
45
108
|
for(var i = 1; i < arguments.length; i++){
|
|
46
109
|
var source = arguments[i] != null ? arguments[i] : {};
|
|
@@ -80,10 +143,24 @@ function _object_spread_props(target, source) {
|
|
|
80
143
|
}
|
|
81
144
|
return target;
|
|
82
145
|
}
|
|
146
|
+
function _sliced_to_array(arr, i) {
|
|
147
|
+
return _array_with_holes(arr) || _iterable_to_array_limit(arr, i) || _unsupported_iterable_to_array(arr, i) || _non_iterable_rest();
|
|
148
|
+
}
|
|
149
|
+
function _to_consumable_array(arr) {
|
|
150
|
+
return _array_without_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array(arr) || _non_iterable_spread();
|
|
151
|
+
}
|
|
83
152
|
function _type_of(obj) {
|
|
84
153
|
"@swc/helpers - typeof";
|
|
85
154
|
return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
|
|
86
155
|
}
|
|
156
|
+
function _unsupported_iterable_to_array(o, minLen) {
|
|
157
|
+
if (!o) return;
|
|
158
|
+
if (typeof o === "string") return _array_like_to_array(o, minLen);
|
|
159
|
+
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
160
|
+
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
161
|
+
if (n === "Map" || n === "Set") return Array.from(n);
|
|
162
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
|
|
163
|
+
}
|
|
87
164
|
function _ts_generator(thisArg, body) {
|
|
88
165
|
var f, y, t, g, _ = {
|
|
89
166
|
label: 0,
|
|
@@ -240,6 +317,9 @@ var __toCommonJS = function(mod) {
|
|
|
240
317
|
// src/hooks/index.ts
|
|
241
318
|
var index_exports = {};
|
|
242
319
|
__export(index_exports, {
|
|
320
|
+
useDbSnapshots: function() {
|
|
321
|
+
return useDbSnapshots;
|
|
322
|
+
},
|
|
243
323
|
useDeepCompareEffect: function() {
|
|
244
324
|
return useDeepCompareEffect;
|
|
245
325
|
},
|
|
@@ -255,14 +335,17 @@ __export(index_exports, {
|
|
|
255
335
|
useSetUserCountry: function() {
|
|
256
336
|
return useSetUserCountry;
|
|
257
337
|
},
|
|
258
|
-
|
|
259
|
-
return
|
|
338
|
+
useSmartSnapshots: function() {
|
|
339
|
+
return useSmartSnapshots;
|
|
340
|
+
},
|
|
341
|
+
useSocketSnapshots: function() {
|
|
342
|
+
return useSocketSnapshots;
|
|
260
343
|
}
|
|
261
344
|
});
|
|
262
345
|
module.exports = __toCommonJS(index_exports);
|
|
263
346
|
// src/hooks/global.ts
|
|
264
347
|
var import_akeyless_types_commons2 = require("akeyless-types-commons");
|
|
265
|
-
var
|
|
348
|
+
var import_react2 = require("react");
|
|
266
349
|
// src/helpers/firebase.ts
|
|
267
350
|
var import_moment = __toESM(require("moment"));
|
|
268
351
|
var import_app = require("firebase/app");
|
|
@@ -367,6 +450,50 @@ var simpleExtractData = function(doc2) {
|
|
|
367
450
|
id: doc2.id
|
|
368
451
|
});
|
|
369
452
|
};
|
|
453
|
+
var get_document_by_id = /*#__PURE__*/ function() {
|
|
454
|
+
var _ref = _async_to_generator(function(collection_path, doc_id) {
|
|
455
|
+
var doc_ref, doc_snap, error;
|
|
456
|
+
return _ts_generator(this, function(_state) {
|
|
457
|
+
switch(_state.label){
|
|
458
|
+
case 0:
|
|
459
|
+
_state.trys.push([
|
|
460
|
+
0,
|
|
461
|
+
2,
|
|
462
|
+
,
|
|
463
|
+
3
|
|
464
|
+
]);
|
|
465
|
+
doc_ref = (0, import_firestore.doc)(db, collection_path, doc_id);
|
|
466
|
+
return [
|
|
467
|
+
4,
|
|
468
|
+
(0, import_firestore.getDoc)(doc_ref)
|
|
469
|
+
];
|
|
470
|
+
case 1:
|
|
471
|
+
doc_snap = _state.sent();
|
|
472
|
+
if (!doc_snap.exists()) {
|
|
473
|
+
throw new Error("Document not found, document id: " + doc_id);
|
|
474
|
+
}
|
|
475
|
+
return [
|
|
476
|
+
2,
|
|
477
|
+
simpleExtractData(doc_snap)
|
|
478
|
+
];
|
|
479
|
+
case 2:
|
|
480
|
+
error = _state.sent();
|
|
481
|
+
console.error("Error from get_document_by_id", error);
|
|
482
|
+
return [
|
|
483
|
+
2,
|
|
484
|
+
null
|
|
485
|
+
];
|
|
486
|
+
case 3:
|
|
487
|
+
return [
|
|
488
|
+
2
|
|
489
|
+
];
|
|
490
|
+
}
|
|
491
|
+
});
|
|
492
|
+
});
|
|
493
|
+
return function get_document_by_id(collection_path, doc_id) {
|
|
494
|
+
return _ref.apply(this, arguments);
|
|
495
|
+
};
|
|
496
|
+
}();
|
|
370
497
|
var snapshot = function(config, snapshotsFirstTime, settings) {
|
|
371
498
|
var resolvePromise;
|
|
372
499
|
var isResolved = false;
|
|
@@ -392,11 +519,11 @@ var snapshot = function(config, snapshotsFirstTime, settings) {
|
|
|
392
519
|
collectionRef = (0, import_firestore.query)(collectionRef, (0, import_firestore.orderBy)(order.fieldName, order.direction));
|
|
393
520
|
});
|
|
394
521
|
}
|
|
395
|
-
var unsubscribe = (0, import_firestore.onSnapshot)(collectionRef, function(
|
|
522
|
+
var unsubscribe = (0, import_firestore.onSnapshot)(collectionRef, function(snapshot3) {
|
|
396
523
|
if (!snapshotsFirstTime.includes(config.collectionName)) {
|
|
397
524
|
var _config_onFirstTime, _config_extraParsers;
|
|
398
525
|
snapshotsFirstTime.push(config.collectionName);
|
|
399
|
-
var documents =
|
|
526
|
+
var documents = snapshot3.docs.map(function(doc2) {
|
|
400
527
|
return simpleExtractData(doc2);
|
|
401
528
|
});
|
|
402
529
|
(_config_onFirstTime = config.onFirstTime) === null || _config_onFirstTime === void 0 ? void 0 : _config_onFirstTime.call(config, documents, config);
|
|
@@ -410,7 +537,7 @@ var snapshot = function(config, snapshotsFirstTime, settings) {
|
|
|
410
537
|
var addedDocs = [];
|
|
411
538
|
var modifiedDocs = [];
|
|
412
539
|
var removedDocs = [];
|
|
413
|
-
|
|
540
|
+
snapshot3.docChanges().forEach(function(change) {
|
|
414
541
|
if (change.type === "added") {
|
|
415
542
|
addedDocs.push(simpleExtractData(change.doc));
|
|
416
543
|
} else if (change.type === "modified") {
|
|
@@ -514,13 +641,363 @@ var biDomain = isLocal ? "http://localhost:9002/api/bi" : baseDomain + "/bi";
|
|
|
514
641
|
var notificationsDomain = isLocal ? "http://localhost:9006/api/notifications" : baseDomain + "/notifications";
|
|
515
642
|
var callCenterGeoDomain = isLocal ? "http://localhost:9007/api/call-center/geo" : baseDomain + "/call-center/geo";
|
|
516
643
|
var callCenterEventsDomain = isLocal ? "http://localhost:9008/api/call-center/events" : baseDomain + "/call-center/events";
|
|
644
|
+
var dataSocketDomain = isLocal ? "http://localhost:9009/api/data-socket" : baseDomain + "/data-socket";
|
|
645
|
+
var dataSyncDomain = isLocal ? "http://localhost:9010/api/data-sync" : baseDomain + "/data-sync";
|
|
517
646
|
// src/helpers/emails.ts
|
|
518
647
|
var import_axios3 = __toESM(require("axios"));
|
|
648
|
+
// src/helpers/socket.ts
|
|
649
|
+
var import_socket = require("socket.io-client");
|
|
650
|
+
var SESSION_STORAGE_KEY = "sessionId";
|
|
651
|
+
var SocketService = /*#__PURE__*/ function() {
|
|
652
|
+
"use strict";
|
|
653
|
+
function _SocketService() {
|
|
654
|
+
_class_call_check(this, _SocketService);
|
|
655
|
+
this.socket = null;
|
|
656
|
+
this.connectCallbacks = [];
|
|
657
|
+
this.disconnectCallbacks = [];
|
|
658
|
+
this.authToken = null;
|
|
659
|
+
}
|
|
660
|
+
_create_class(_SocketService, [
|
|
661
|
+
{
|
|
662
|
+
/// Initialize the socket connection
|
|
663
|
+
key: "initSocket",
|
|
664
|
+
value: function initSocket() {
|
|
665
|
+
var _this = this;
|
|
666
|
+
if (!this.socket) {
|
|
667
|
+
var socketUrl = isLocal ? "http://localhost:9009" : mode === "qa" ? "https://nx-api.xyz" : "https://nx-api.info";
|
|
668
|
+
this.socket = (0, import_socket.io)(socketUrl, {
|
|
669
|
+
path: "/api/data-socket/connect",
|
|
670
|
+
auth: function(cb) {
|
|
671
|
+
var sessionId = localStorage.getItem(SESSION_STORAGE_KEY) || void 0;
|
|
672
|
+
var token = _this.authToken;
|
|
673
|
+
var authPayload = {};
|
|
674
|
+
if (token) authPayload.token = token;
|
|
675
|
+
if (sessionId) authPayload.sessionId = sessionId;
|
|
676
|
+
cb(authPayload);
|
|
677
|
+
},
|
|
678
|
+
transports: [
|
|
679
|
+
"websocket"
|
|
680
|
+
],
|
|
681
|
+
reconnection: true,
|
|
682
|
+
reconnectionAttempts: 30,
|
|
683
|
+
reconnectionDelay: 2 * 1e3
|
|
684
|
+
});
|
|
685
|
+
this.socket.on("connect", function() {
|
|
686
|
+
var _this_socket, _this_socket1;
|
|
687
|
+
console.log("\uD83D\uDFE2 Socket connected: ".concat((_this_socket = _this.socket) === null || _this_socket === void 0 ? void 0 : _this_socket.id, " (recovered - ").concat((_this_socket1 = _this.socket) === null || _this_socket1 === void 0 ? void 0 : _this_socket1.recovered, ")"));
|
|
688
|
+
_this.connectCallbacks.forEach(function(cb) {
|
|
689
|
+
return cb();
|
|
690
|
+
});
|
|
691
|
+
});
|
|
692
|
+
this.socket.on("disconnect", function(reason) {
|
|
693
|
+
console.log("Socket disconnected:", reason);
|
|
694
|
+
_this.disconnectCallbacks.forEach(function(cb) {
|
|
695
|
+
return cb();
|
|
696
|
+
});
|
|
697
|
+
});
|
|
698
|
+
this.socket.on("session", function(param) {
|
|
699
|
+
var session_id = param.session_id;
|
|
700
|
+
if (session_id) {
|
|
701
|
+
localStorage.setItem(SESSION_STORAGE_KEY, session_id);
|
|
702
|
+
}
|
|
703
|
+
});
|
|
704
|
+
this.socket.on("connect_error", function(error) {
|
|
705
|
+
console.error("Socket connection error:", error);
|
|
706
|
+
});
|
|
707
|
+
}
|
|
708
|
+
}
|
|
709
|
+
},
|
|
710
|
+
{
|
|
711
|
+
/// get socket instance
|
|
712
|
+
key: "getSocketInstance",
|
|
713
|
+
value: function getSocketInstance() {
|
|
714
|
+
if (!this.socket) {
|
|
715
|
+
this.initSocket();
|
|
716
|
+
}
|
|
717
|
+
if (!this.socket) {
|
|
718
|
+
throw new Error("Socket not initialized");
|
|
719
|
+
}
|
|
720
|
+
if (!this.socket.connected) {
|
|
721
|
+
this.socket.connect();
|
|
722
|
+
}
|
|
723
|
+
return this.socket;
|
|
724
|
+
}
|
|
725
|
+
},
|
|
726
|
+
{
|
|
727
|
+
/// connection management methods
|
|
728
|
+
key: "startSession",
|
|
729
|
+
value: function startSession(token) {
|
|
730
|
+
this.setAuthToken(token);
|
|
731
|
+
this.initSocket();
|
|
732
|
+
}
|
|
733
|
+
},
|
|
734
|
+
{
|
|
735
|
+
key: "onConnect",
|
|
736
|
+
value: function onConnect(callback) {
|
|
737
|
+
var _this = this;
|
|
738
|
+
var _this_socket;
|
|
739
|
+
if (!this.connectCallbacks.includes(callback)) {
|
|
740
|
+
this.connectCallbacks.push(callback);
|
|
741
|
+
}
|
|
742
|
+
if ((_this_socket = this.socket) === null || _this_socket === void 0 ? void 0 : _this_socket.connected) {
|
|
743
|
+
callback();
|
|
744
|
+
}
|
|
745
|
+
return function() {
|
|
746
|
+
return _this.offConnect(callback);
|
|
747
|
+
};
|
|
748
|
+
}
|
|
749
|
+
},
|
|
750
|
+
{
|
|
751
|
+
key: "offConnect",
|
|
752
|
+
value: function offConnect(callback) {
|
|
753
|
+
this.connectCallbacks = this.connectCallbacks.filter(function(cb) {
|
|
754
|
+
return cb !== callback;
|
|
755
|
+
});
|
|
756
|
+
}
|
|
757
|
+
},
|
|
758
|
+
{
|
|
759
|
+
key: "onDisconnect",
|
|
760
|
+
value: function onDisconnect(callback) {
|
|
761
|
+
var _this = this;
|
|
762
|
+
if (!this.disconnectCallbacks.includes(callback)) {
|
|
763
|
+
this.disconnectCallbacks.push(callback);
|
|
764
|
+
}
|
|
765
|
+
if (this.socket && !this.socket.connected) {
|
|
766
|
+
callback();
|
|
767
|
+
}
|
|
768
|
+
return function() {
|
|
769
|
+
return _this.offDisconnect(callback);
|
|
770
|
+
};
|
|
771
|
+
}
|
|
772
|
+
},
|
|
773
|
+
{
|
|
774
|
+
key: "offDisconnect",
|
|
775
|
+
value: function offDisconnect(callback) {
|
|
776
|
+
this.disconnectCallbacks = this.disconnectCallbacks.filter(function(cb) {
|
|
777
|
+
return cb !== callback;
|
|
778
|
+
});
|
|
779
|
+
}
|
|
780
|
+
},
|
|
781
|
+
{
|
|
782
|
+
key: "isConnected",
|
|
783
|
+
value: function isConnected() {
|
|
784
|
+
var _this_socket;
|
|
785
|
+
return ((_this_socket = this.socket) === null || _this_socket === void 0 ? void 0 : _this_socket.connected) || false;
|
|
786
|
+
}
|
|
787
|
+
},
|
|
788
|
+
{
|
|
789
|
+
key: "setAuthToken",
|
|
790
|
+
value: function setAuthToken(token) {
|
|
791
|
+
this.authToken = token;
|
|
792
|
+
if (this.socket) {
|
|
793
|
+
this.socket.connect();
|
|
794
|
+
}
|
|
795
|
+
}
|
|
796
|
+
},
|
|
797
|
+
{
|
|
798
|
+
key: "disconnectSocket",
|
|
799
|
+
value: function disconnectSocket() {
|
|
800
|
+
if (this.socket) {
|
|
801
|
+
this.socket.io.engine.close();
|
|
802
|
+
}
|
|
803
|
+
}
|
|
804
|
+
},
|
|
805
|
+
{
|
|
806
|
+
/// subscribe to collections
|
|
807
|
+
key: "subscribeToCollections",
|
|
808
|
+
value: function subscribeToCollections(config) {
|
|
809
|
+
var _this = this;
|
|
810
|
+
if (config.length === 0) {
|
|
811
|
+
return function() {};
|
|
812
|
+
}
|
|
813
|
+
var s = this.getSocketInstance();
|
|
814
|
+
var collectionsNames = config.map(function(c) {
|
|
815
|
+
return c.collectionName;
|
|
816
|
+
});
|
|
817
|
+
var eventHandlers = [];
|
|
818
|
+
config.forEach(function(configuration) {
|
|
819
|
+
var collectionName = configuration.collectionName, onAdd = configuration.onAdd, onFirstTime = configuration.onFirstTime, onModify = configuration.onModify, onRemove = configuration.onRemove, extraParsers = configuration.extraParsers, conditions = configuration.conditions, orderBy2 = configuration.orderBy;
|
|
820
|
+
var attach = function(eventName, handler) {
|
|
821
|
+
_this.socket.off(eventName, handler);
|
|
822
|
+
_this.socket.on(eventName, handler);
|
|
823
|
+
eventHandlers.push({
|
|
824
|
+
eventName: eventName,
|
|
825
|
+
handler: handler
|
|
826
|
+
});
|
|
827
|
+
};
|
|
828
|
+
attach("initial:".concat(collectionName), onFirstTime);
|
|
829
|
+
attach("add:".concat(collectionName), onAdd);
|
|
830
|
+
attach("update:".concat(collectionName), onModify);
|
|
831
|
+
attach("delete:".concat(collectionName), onRemove);
|
|
832
|
+
extraParsers === null || extraParsers === void 0 ? void 0 : extraParsers.forEach(function(parsers) {
|
|
833
|
+
var extraOnAdd = parsers.onAdd, extraOnFirstTime = parsers.onFirstTime, extraOnModify = parsers.onModify, extraOnRemove = parsers.onRemove;
|
|
834
|
+
attach("initial:".concat(collectionName), extraOnFirstTime);
|
|
835
|
+
attach("add:".concat(collectionName), extraOnAdd);
|
|
836
|
+
attach("update:".concat(collectionName), extraOnModify);
|
|
837
|
+
attach("delete:".concat(collectionName), extraOnRemove);
|
|
838
|
+
});
|
|
839
|
+
});
|
|
840
|
+
s.emit("subscribe_collections", collectionsNames, function(callback) {
|
|
841
|
+
if (callback.success) {
|
|
842
|
+
console.log("Successfully subscribed to: ".concat(collectionsNames.join(", ")));
|
|
843
|
+
} else {
|
|
844
|
+
console.error("Failed to subscribe to ".concat(config.join(", "), ": ").concat(callback.message));
|
|
845
|
+
}
|
|
846
|
+
});
|
|
847
|
+
return function() {
|
|
848
|
+
console.log("Cleaning up subscriptions for: ".concat(collectionsNames.join(", ")));
|
|
849
|
+
s.emit("unsubscribe_collections", collectionsNames);
|
|
850
|
+
eventHandlers.forEach(function(eh) {
|
|
851
|
+
s.off(eh.eventName, eh.handler);
|
|
852
|
+
});
|
|
853
|
+
};
|
|
854
|
+
}
|
|
855
|
+
},
|
|
856
|
+
{
|
|
857
|
+
/// set data
|
|
858
|
+
key: "setData",
|
|
859
|
+
value: function setData(payload) {
|
|
860
|
+
var s = this.getSocketInstance();
|
|
861
|
+
return new Promise(function(resolve, reject) {
|
|
862
|
+
s.emit("set_data", payload, function(callback) {
|
|
863
|
+
if (callback.success) {
|
|
864
|
+
console.log("Data saved successfully:", payload);
|
|
865
|
+
console.log("ack", callback);
|
|
866
|
+
resolve(callback);
|
|
867
|
+
} else {
|
|
868
|
+
reject(new Error(callback.message || "Save operation failed"));
|
|
869
|
+
}
|
|
870
|
+
});
|
|
871
|
+
});
|
|
872
|
+
}
|
|
873
|
+
},
|
|
874
|
+
{
|
|
875
|
+
/// get data
|
|
876
|
+
key: "getCollectionData",
|
|
877
|
+
value: function getCollectionData(payload) {
|
|
878
|
+
var s = this.getSocketInstance();
|
|
879
|
+
s.emit("get_data", {
|
|
880
|
+
collection_name: payload.collection_name
|
|
881
|
+
}, function(socketCallback) {
|
|
882
|
+
if (socketCallback.success && socketCallback.data) {
|
|
883
|
+
payload.callback(socketCallback.data);
|
|
884
|
+
} else {
|
|
885
|
+
payload.callback(payload.defaultValue);
|
|
886
|
+
}
|
|
887
|
+
});
|
|
888
|
+
}
|
|
889
|
+
},
|
|
890
|
+
{
|
|
891
|
+
key: "getDocumentData",
|
|
892
|
+
value: function getDocumentData(payload) {
|
|
893
|
+
var s = this.getSocketInstance();
|
|
894
|
+
s.emit("get_data", {
|
|
895
|
+
collection_name: payload.collection_name,
|
|
896
|
+
key: payload.key
|
|
897
|
+
}, function(socketCallback) {
|
|
898
|
+
if (socketCallback.success && socketCallback.data) {
|
|
899
|
+
payload.callback(socketCallback.data);
|
|
900
|
+
} else {
|
|
901
|
+
payload.callback(payload.defaultValue);
|
|
902
|
+
}
|
|
903
|
+
});
|
|
904
|
+
}
|
|
905
|
+
},
|
|
906
|
+
{
|
|
907
|
+
/// delete data
|
|
908
|
+
key: "deleteData",
|
|
909
|
+
value: function deleteData(payload) {
|
|
910
|
+
var s = this.getSocketInstance();
|
|
911
|
+
return new Promise(function(resolve, reject) {
|
|
912
|
+
s.emit("delete_data", payload, function(callback) {
|
|
913
|
+
if (callback.success) {
|
|
914
|
+
console.log("Data deleted successfully:", payload);
|
|
915
|
+
console.log("delete ack", callback);
|
|
916
|
+
resolve(callback);
|
|
917
|
+
} else {
|
|
918
|
+
reject(new Error(callback.message || "Delete operation failed"));
|
|
919
|
+
}
|
|
920
|
+
});
|
|
921
|
+
});
|
|
922
|
+
}
|
|
923
|
+
},
|
|
924
|
+
{
|
|
925
|
+
key: "clearAllRedisData",
|
|
926
|
+
value: function clearAllRedisData() {
|
|
927
|
+
var s = this.getSocketInstance();
|
|
928
|
+
return new Promise(function(resolve, reject) {
|
|
929
|
+
s.emit("clear_all_redis_data", function(ack) {
|
|
930
|
+
if (ack.success) {
|
|
931
|
+
resolve(ack);
|
|
932
|
+
} else {
|
|
933
|
+
reject(new Error(ack.message || "Clear all Redis data operation failed"));
|
|
934
|
+
}
|
|
935
|
+
});
|
|
936
|
+
});
|
|
937
|
+
}
|
|
938
|
+
}
|
|
939
|
+
], [
|
|
940
|
+
{
|
|
941
|
+
key: "getInstance",
|
|
942
|
+
value: function getInstance() {
|
|
943
|
+
if (!_SocketService.instance) {
|
|
944
|
+
_SocketService.instance = new _SocketService();
|
|
945
|
+
}
|
|
946
|
+
return _SocketService.instance;
|
|
947
|
+
}
|
|
948
|
+
}
|
|
949
|
+
]);
|
|
950
|
+
return _SocketService;
|
|
951
|
+
}();
|
|
952
|
+
var socketServiceInstance = SocketService.getInstance();
|
|
953
|
+
// src/hooks/global.ts
|
|
954
|
+
var useDocumentTitle = function(title) {
|
|
955
|
+
(0, import_react2.useEffect)(function() {
|
|
956
|
+
document.title = title;
|
|
957
|
+
}, [
|
|
958
|
+
title
|
|
959
|
+
]);
|
|
960
|
+
return null;
|
|
961
|
+
};
|
|
962
|
+
var useSetUserCountry = function(setUserCountry, changLang) {
|
|
963
|
+
(0, import_react2.useLayoutEffect)(function() {
|
|
964
|
+
var currentCountry = localStorage.getItem("userCountry");
|
|
965
|
+
if (!currentCountry) {
|
|
966
|
+
var updateCountry = /*#__PURE__*/ function() {
|
|
967
|
+
var _ref = _async_to_generator(function() {
|
|
968
|
+
var country;
|
|
969
|
+
return _ts_generator(this, function(_state) {
|
|
970
|
+
switch(_state.label){
|
|
971
|
+
case 0:
|
|
972
|
+
return [
|
|
973
|
+
4,
|
|
974
|
+
getUserCountryByIp()
|
|
975
|
+
];
|
|
976
|
+
case 1:
|
|
977
|
+
country = _state.sent();
|
|
978
|
+
changLang(country === import_akeyless_types_commons2.CountryOptions.IL ? "he" : "en");
|
|
979
|
+
setUserCountry(country);
|
|
980
|
+
localStorage.setItem("userCountry", country);
|
|
981
|
+
return [
|
|
982
|
+
2
|
|
983
|
+
];
|
|
984
|
+
}
|
|
985
|
+
});
|
|
986
|
+
});
|
|
987
|
+
return function updateCountry() {
|
|
988
|
+
return _ref.apply(this, arguments);
|
|
989
|
+
};
|
|
990
|
+
}();
|
|
991
|
+
updateCountry();
|
|
992
|
+
}
|
|
993
|
+
}, []);
|
|
994
|
+
return null;
|
|
995
|
+
};
|
|
519
996
|
// src/hooks/react.ts
|
|
520
997
|
var import_lodash2 = require("lodash");
|
|
521
|
-
var
|
|
998
|
+
var import_react3 = require("react");
|
|
522
999
|
function useSafeEffect(callback, dependencies, error_message) {
|
|
523
|
-
(0,
|
|
1000
|
+
(0, import_react3.useEffect)(function() {
|
|
524
1001
|
try {
|
|
525
1002
|
callback();
|
|
526
1003
|
} catch (error) {
|
|
@@ -529,37 +1006,32 @@ function useSafeEffect(callback, dependencies, error_message) {
|
|
|
529
1006
|
}, dependencies);
|
|
530
1007
|
}
|
|
531
1008
|
var useDeepCompareMemo = function(factory, dependencies) {
|
|
532
|
-
var previousDepsRef = (0,
|
|
1009
|
+
var previousDepsRef = (0, import_react3.useRef)([]);
|
|
533
1010
|
if (!(0, import_lodash2.isEqual)(dependencies, previousDepsRef.current)) {
|
|
534
1011
|
previousDepsRef.current = dependencies;
|
|
535
1012
|
}
|
|
536
|
-
return (0,
|
|
1013
|
+
return (0, import_react3.useMemo)(factory, previousDepsRef.current);
|
|
537
1014
|
};
|
|
538
1015
|
function useDeepCompareEffect(effect, dependencies) {
|
|
539
|
-
var previousDepsRef = (0,
|
|
1016
|
+
var previousDepsRef = (0, import_react3.useRef)();
|
|
540
1017
|
if (!(0, import_lodash2.isEqual)(previousDepsRef.current, dependencies)) {
|
|
541
1018
|
previousDepsRef.current = dependencies;
|
|
542
1019
|
}
|
|
543
|
-
(0,
|
|
1020
|
+
(0, import_react3.useEffect)(effect, [
|
|
544
1021
|
previousDepsRef.current
|
|
545
1022
|
]);
|
|
546
1023
|
}
|
|
547
|
-
// src/hooks/
|
|
548
|
-
var
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
]);
|
|
554
|
-
return null;
|
|
555
|
-
};
|
|
556
|
-
var useSnapshotBulk = function(configs, label, settings) {
|
|
557
|
-
var snapshotsFirstTime = (0, import_react3.useRef)([]);
|
|
558
|
-
var unsubscribeFunctions = (0, import_react3.useRef)([]);
|
|
1024
|
+
// src/hooks/WebWorker.ts
|
|
1025
|
+
var import_react4 = require("react");
|
|
1026
|
+
// src/hooks/snapshots.ts
|
|
1027
|
+
var import_react5 = require("react");
|
|
1028
|
+
var useDbSnapshots = function(configs, label, settings) {
|
|
1029
|
+
var snapshotsFirstTime = (0, import_react5.useRef)([]);
|
|
1030
|
+
var unsubscribeFunctions = (0, import_react5.useRef)([]);
|
|
559
1031
|
useDeepCompareEffect(function() {
|
|
560
1032
|
var start = performance.now();
|
|
561
|
-
if (!(settings === null || settings === void 0 ? void 0 : settings.disableLogs)) {
|
|
562
|
-
console.log("==> ".concat(label || "
|
|
1033
|
+
if (!(settings === null || settings === void 0 ? void 0 : settings.disableLogs) && configs.length > 0) {
|
|
1034
|
+
console.log("==> ".concat(label || "DB snapshots", " started from db... "));
|
|
563
1035
|
}
|
|
564
1036
|
var snapshotResults = configs.map(function(config) {
|
|
565
1037
|
return snapshot(config, snapshotsFirstTime.current, settings);
|
|
@@ -570,8 +1042,8 @@ var useSnapshotBulk = function(configs, label, settings) {
|
|
|
570
1042
|
Promise.all(snapshotResults.map(function(result) {
|
|
571
1043
|
return result.promise;
|
|
572
1044
|
})).then(function() {
|
|
573
|
-
if (!(settings === null || settings === void 0 ? void 0 : settings.disableLogs)) {
|
|
574
|
-
console.log("==> ".concat(label || "
|
|
1045
|
+
if (!(settings === null || settings === void 0 ? void 0 : settings.disableLogs) && configs.length > 0) {
|
|
1046
|
+
console.log("==> ".concat(label || "DB snapshots", " ended from db. It took ").concat((performance.now() - start).toFixed(2), " ms"));
|
|
575
1047
|
}
|
|
576
1048
|
});
|
|
577
1049
|
if (settings === null || settings === void 0 ? void 0 : settings.cleanupForConfigChange) {
|
|
@@ -581,8 +1053,8 @@ var useSnapshotBulk = function(configs, label, settings) {
|
|
|
581
1053
|
unsubscribe();
|
|
582
1054
|
}
|
|
583
1055
|
});
|
|
584
|
-
if (!(settings === null || settings === void 0 ? void 0 : settings.disableLogs)) {
|
|
585
|
-
console.log("==> ".concat(label || "
|
|
1056
|
+
if (!(settings === null || settings === void 0 ? void 0 : settings.disableLogs) && configs.length > 0) {
|
|
1057
|
+
console.log("==> ".concat(label || "DB snapshots", " unsubscribed from db"));
|
|
586
1058
|
}
|
|
587
1059
|
};
|
|
588
1060
|
}
|
|
@@ -591,7 +1063,7 @@ var useSnapshotBulk = function(configs, label, settings) {
|
|
|
591
1063
|
label,
|
|
592
1064
|
settings
|
|
593
1065
|
]);
|
|
594
|
-
(0,
|
|
1066
|
+
(0, import_react5.useEffect)(function() {
|
|
595
1067
|
return function() {
|
|
596
1068
|
unsubscribeFunctions.current.forEach(function(unsubscribe) {
|
|
597
1069
|
if (unsubscribe) {
|
|
@@ -599,54 +1071,135 @@ var useSnapshotBulk = function(configs, label, settings) {
|
|
|
599
1071
|
}
|
|
600
1072
|
});
|
|
601
1073
|
if (!(settings === null || settings === void 0 ? void 0 : settings.disableLogs)) {
|
|
602
|
-
console.log("==> ".concat(label || "
|
|
1074
|
+
console.log("==> ".concat(label || "DB snapshots", " unsubscribed"));
|
|
603
1075
|
}
|
|
604
1076
|
};
|
|
605
1077
|
}, []);
|
|
606
1078
|
};
|
|
607
|
-
var
|
|
608
|
-
(0,
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
changLang(country === import_akeyless_types_commons2.CountryOptions.IL ? "he" : "en");
|
|
624
|
-
setUserCountry(country);
|
|
625
|
-
localStorage.setItem("userCountry", country);
|
|
626
|
-
return [
|
|
627
|
-
2
|
|
628
|
-
];
|
|
629
|
-
}
|
|
630
|
-
});
|
|
631
|
-
});
|
|
632
|
-
return function updateCountry() {
|
|
633
|
-
return _ref.apply(this, arguments);
|
|
634
|
-
};
|
|
635
|
-
}();
|
|
636
|
-
updateCountry();
|
|
1079
|
+
var useSmartSnapshots = function(configs, label, settings) {
|
|
1080
|
+
var _ref = _sliced_to_array((0, import_react5.useState)(null), 2), cacheCollectionsConfig = _ref[0], setCacheCollectionsConfig = _ref[1];
|
|
1081
|
+
(0, import_react5.useEffect)(function() {
|
|
1082
|
+
get_document_by_id("nx-settings", "cache_collections_config").then(function(res) {
|
|
1083
|
+
return setCacheCollectionsConfig(res);
|
|
1084
|
+
});
|
|
1085
|
+
return function() {
|
|
1086
|
+
return setCacheCollectionsConfig(null);
|
|
1087
|
+
};
|
|
1088
|
+
}, []);
|
|
1089
|
+
var groupedConfig = (0, import_react5.useMemo)(function() {
|
|
1090
|
+
if (!cacheCollectionsConfig) {
|
|
1091
|
+
return {
|
|
1092
|
+
configForDb: [],
|
|
1093
|
+
configForCache: []
|
|
1094
|
+
};
|
|
637
1095
|
}
|
|
1096
|
+
var configForDb = [];
|
|
1097
|
+
var configForCache = [];
|
|
1098
|
+
configs.forEach(function(cfg) {
|
|
1099
|
+
var collectionName = cfg.collectionName, _cfg_subscribeTo = cfg.subscribeTo, subscribeTo = _cfg_subscribeTo === void 0 ? "cache" : _cfg_subscribeTo;
|
|
1100
|
+
if (subscribeTo === "cache" && cacheCollectionsConfig[collectionName]) {
|
|
1101
|
+
configForCache.push(cfg);
|
|
1102
|
+
} else {
|
|
1103
|
+
configForDb.push(cfg);
|
|
1104
|
+
}
|
|
1105
|
+
});
|
|
1106
|
+
return {
|
|
1107
|
+
configForDb: configForDb,
|
|
1108
|
+
configForCache: configForCache
|
|
1109
|
+
};
|
|
1110
|
+
}, [
|
|
1111
|
+
configs,
|
|
1112
|
+
cacheCollectionsConfig
|
|
1113
|
+
]);
|
|
1114
|
+
useDbSnapshots(groupedConfig.configForDb, label, settings);
|
|
1115
|
+
var socketConnected = useSocketSnapshots(groupedConfig.configForCache, label, settings).socketConnected;
|
|
1116
|
+
return {
|
|
1117
|
+
groupedConfig: groupedConfig,
|
|
1118
|
+
socketConnected: socketConnected
|
|
1119
|
+
};
|
|
1120
|
+
};
|
|
1121
|
+
var useSocketSnapshots = function(configs, label, settings) {
|
|
1122
|
+
var _auth_currentUser;
|
|
1123
|
+
var _ref = _sliced_to_array((0, import_react5.useState)(socketServiceInstance.isConnected()), 2), socketConnected = _ref[0], setSocketConnected = _ref[1];
|
|
1124
|
+
var _ref1 = _sliced_to_array((0, import_react5.useState)([]), 2), cleanupSubscriptions = _ref1[0], setCleanupSubscriptions = _ref1[1];
|
|
1125
|
+
var socketStarted = (0, import_react5.useRef)(false);
|
|
1126
|
+
useDeepCompareEffect(function() {
|
|
1127
|
+
if (!auth.currentUser) {
|
|
1128
|
+
return;
|
|
1129
|
+
}
|
|
1130
|
+
var subscribe = function() {
|
|
1131
|
+
if (configs.length === 0) {
|
|
1132
|
+
return;
|
|
1133
|
+
}
|
|
1134
|
+
var disposer = socketServiceInstance.subscribeToCollections(configs);
|
|
1135
|
+
setCleanupSubscriptions(function(prev) {
|
|
1136
|
+
return _to_consumable_array(prev).concat([
|
|
1137
|
+
disposer
|
|
1138
|
+
]);
|
|
1139
|
+
});
|
|
1140
|
+
if (!(settings === null || settings === void 0 ? void 0 : settings.disableLogs)) {
|
|
1141
|
+
console.log("==> ".concat(label || "Cache snapshots", " subscribed to ").concat(configs.map(function(c) {
|
|
1142
|
+
return c.collectionName;
|
|
1143
|
+
}).join(", ")));
|
|
1144
|
+
}
|
|
1145
|
+
};
|
|
1146
|
+
if (socketServiceInstance.isConnected()) {
|
|
1147
|
+
setSocketConnected(true);
|
|
1148
|
+
subscribe();
|
|
1149
|
+
} else if (!socketStarted.current) {
|
|
1150
|
+
socketStarted.current = true;
|
|
1151
|
+
auth.currentUser.getIdToken().then(function(token) {
|
|
1152
|
+
socketServiceInstance.startSession(token);
|
|
1153
|
+
if (!(settings === null || settings === void 0 ? void 0 : settings.disableLogs)) {
|
|
1154
|
+
console.log("==> ".concat(label || "Cache snapshots", " started... "));
|
|
1155
|
+
}
|
|
1156
|
+
});
|
|
1157
|
+
}
|
|
1158
|
+
var offConnect = socketServiceInstance.onConnect(function() {
|
|
1159
|
+
setSocketConnected(true);
|
|
1160
|
+
socketStarted.current = false;
|
|
1161
|
+
subscribe();
|
|
1162
|
+
});
|
|
1163
|
+
var offDisconnect = socketServiceInstance.onDisconnect(function() {
|
|
1164
|
+
setSocketConnected(false);
|
|
1165
|
+
cleanupSubscriptions.forEach(function(cleanup) {
|
|
1166
|
+
return cleanup();
|
|
1167
|
+
});
|
|
1168
|
+
});
|
|
1169
|
+
return function() {
|
|
1170
|
+
cleanupSubscriptions.forEach(function(cleanup) {
|
|
1171
|
+
return cleanup();
|
|
1172
|
+
});
|
|
1173
|
+
offConnect === null || offConnect === void 0 ? void 0 : offConnect();
|
|
1174
|
+
offDisconnect === null || offDisconnect === void 0 ? void 0 : offDisconnect();
|
|
1175
|
+
if (!(settings === null || settings === void 0 ? void 0 : settings.disableLogs) && configs.length > 0) {
|
|
1176
|
+
console.log("==> ".concat(label || "Cache snapshots", " unsubscribed. "));
|
|
1177
|
+
}
|
|
1178
|
+
};
|
|
1179
|
+
}, [
|
|
1180
|
+
configs,
|
|
1181
|
+
(_auth_currentUser = auth.currentUser) === null || _auth_currentUser === void 0 ? void 0 : _auth_currentUser.uid
|
|
1182
|
+
]);
|
|
1183
|
+
(0, import_react5.useEffect)(function() {
|
|
1184
|
+
return function() {
|
|
1185
|
+
cleanupSubscriptions.forEach(function(cleanup) {
|
|
1186
|
+
return cleanup();
|
|
1187
|
+
});
|
|
1188
|
+
};
|
|
638
1189
|
}, []);
|
|
639
|
-
return
|
|
1190
|
+
return {
|
|
1191
|
+
socketConnected: socketConnected
|
|
1192
|
+
};
|
|
640
1193
|
};
|
|
641
|
-
// src/hooks/WebWorker.ts
|
|
642
|
-
var import_react5 = require("react");
|
|
643
1194
|
// Annotate the CommonJS export names for ESM import in node:
|
|
644
1195
|
0 && (module.exports = {
|
|
1196
|
+
useDbSnapshots: useDbSnapshots,
|
|
645
1197
|
useDeepCompareEffect: useDeepCompareEffect,
|
|
646
1198
|
useDeepCompareMemo: useDeepCompareMemo,
|
|
647
1199
|
useDocumentTitle: useDocumentTitle,
|
|
648
1200
|
useSafeEffect: useSafeEffect,
|
|
649
1201
|
useSetUserCountry: useSetUserCountry,
|
|
650
|
-
|
|
1202
|
+
useSmartSnapshots: useSmartSnapshots,
|
|
1203
|
+
useSocketSnapshots: useSocketSnapshots
|
|
651
1204
|
});
|
|
652
1205
|
//# sourceMappingURL=index.js.map
|