akeyless-client-commons 1.1.22 → 1.1.23

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.
@@ -968,8 +968,315 @@ var biDomain = isLocal ? "http://localhost:9002/api/bi" : baseDomain + "/bi";
968
968
  var notificationsDomain = isLocal ? "http://localhost:9006/api/notifications" : baseDomain + "/notifications";
969
969
  var callCenterGeoDomain = isLocal ? "http://localhost:9007/api/call-center/geo" : baseDomain + "/call-center/geo";
970
970
  var callCenterEventsDomain = isLocal ? "http://localhost:9008/api/call-center/events" : baseDomain + "/call-center/events";
971
+ var dataSocketDomain = isLocal ? "http://localhost:9009/api/data-socket" : baseDomain + "/data-socket";
972
+ var dataSyncDomain = isLocal ? "http://localhost:9010/api/data-sync" : baseDomain + "/data-sync";
971
973
  // src/helpers/emails.ts
972
974
  import axios3 from "axios";
975
+ // src/helpers/socket.ts
976
+ import { io } from "socket.io-client";
977
+ var SESSION_STORAGE_KEY = "sessionId";
978
+ var SocketService = /*#__PURE__*/ function() {
979
+ "use strict";
980
+ function _SocketService() {
981
+ _class_call_check(this, _SocketService);
982
+ this.socket = null;
983
+ this.connectCallbacks = [];
984
+ this.disconnectCallbacks = [];
985
+ this.authToken = null;
986
+ }
987
+ _create_class(_SocketService, [
988
+ {
989
+ /// Initialize the socket connection
990
+ key: "initSocket",
991
+ value: function initSocket() {
992
+ var _this = this;
993
+ if (!this.socket) {
994
+ var socketUrl = isLocal ? "http://localhost:9009" : mode === "qa" ? "https://nx-api.xyz" : "https://nx-api.info";
995
+ this.socket = io(socketUrl, {
996
+ path: "/api/data-socket/connect",
997
+ auth: function(cb) {
998
+ var sessionId = localStorage.getItem(SESSION_STORAGE_KEY) || void 0;
999
+ var token = _this.authToken;
1000
+ var authPayload = {};
1001
+ if (token) authPayload.token = token;
1002
+ if (sessionId) authPayload.sessionId = sessionId;
1003
+ cb(authPayload);
1004
+ },
1005
+ transports: [
1006
+ "websocket"
1007
+ ],
1008
+ reconnection: true,
1009
+ reconnectionAttempts: 30,
1010
+ reconnectionDelay: 2 * 1e3
1011
+ });
1012
+ this.socket.on("connect", function() {
1013
+ var _this_socket, _this_socket1;
1014
+ 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, ")"));
1015
+ _this.connectCallbacks.forEach(function(cb) {
1016
+ return cb();
1017
+ });
1018
+ });
1019
+ this.socket.on("disconnect", function(reason) {
1020
+ console.log("Socket disconnected:", reason);
1021
+ _this.disconnectCallbacks.forEach(function(cb) {
1022
+ return cb();
1023
+ });
1024
+ });
1025
+ this.socket.on("session", function(param) {
1026
+ var session_id = param.session_id;
1027
+ if (session_id) {
1028
+ localStorage.setItem(SESSION_STORAGE_KEY, session_id);
1029
+ }
1030
+ });
1031
+ this.socket.on("connect_error", function(error) {
1032
+ console.error("Socket connection error:", error);
1033
+ });
1034
+ }
1035
+ }
1036
+ },
1037
+ {
1038
+ /// get socket instance
1039
+ key: "getSocketInstance",
1040
+ value: function getSocketInstance() {
1041
+ if (!this.socket) {
1042
+ this.initSocket();
1043
+ }
1044
+ if (!this.socket) {
1045
+ throw new Error("Socket not initialized");
1046
+ }
1047
+ if (!this.socket.connected) {
1048
+ this.socket.connect();
1049
+ }
1050
+ return this.socket;
1051
+ }
1052
+ },
1053
+ {
1054
+ /// connection management methods
1055
+ key: "startSession",
1056
+ value: function startSession(token) {
1057
+ this.setAuthToken(token);
1058
+ this.initSocket();
1059
+ }
1060
+ },
1061
+ {
1062
+ key: "onConnect",
1063
+ value: function onConnect(callback) {
1064
+ var _this = this;
1065
+ var _this_socket;
1066
+ if (!this.connectCallbacks.includes(callback)) {
1067
+ this.connectCallbacks.push(callback);
1068
+ }
1069
+ if ((_this_socket = this.socket) === null || _this_socket === void 0 ? void 0 : _this_socket.connected) {
1070
+ callback();
1071
+ }
1072
+ return function() {
1073
+ return _this.offConnect(callback);
1074
+ };
1075
+ }
1076
+ },
1077
+ {
1078
+ key: "offConnect",
1079
+ value: function offConnect(callback) {
1080
+ this.connectCallbacks = this.connectCallbacks.filter(function(cb) {
1081
+ return cb !== callback;
1082
+ });
1083
+ }
1084
+ },
1085
+ {
1086
+ key: "onDisconnect",
1087
+ value: function onDisconnect(callback) {
1088
+ var _this = this;
1089
+ if (!this.disconnectCallbacks.includes(callback)) {
1090
+ this.disconnectCallbacks.push(callback);
1091
+ }
1092
+ if (this.socket && !this.socket.connected) {
1093
+ callback();
1094
+ }
1095
+ return function() {
1096
+ return _this.offDisconnect(callback);
1097
+ };
1098
+ }
1099
+ },
1100
+ {
1101
+ key: "offDisconnect",
1102
+ value: function offDisconnect(callback) {
1103
+ this.disconnectCallbacks = this.disconnectCallbacks.filter(function(cb) {
1104
+ return cb !== callback;
1105
+ });
1106
+ }
1107
+ },
1108
+ {
1109
+ key: "isConnected",
1110
+ value: function isConnected() {
1111
+ var _this_socket;
1112
+ return ((_this_socket = this.socket) === null || _this_socket === void 0 ? void 0 : _this_socket.connected) || false;
1113
+ }
1114
+ },
1115
+ {
1116
+ key: "setAuthToken",
1117
+ value: function setAuthToken(token) {
1118
+ this.authToken = token;
1119
+ if (this.socket) {
1120
+ this.socket.connect();
1121
+ }
1122
+ }
1123
+ },
1124
+ {
1125
+ key: "disconnectSocket",
1126
+ value: function disconnectSocket() {
1127
+ if (this.socket) {
1128
+ this.socket.io.engine.close();
1129
+ }
1130
+ }
1131
+ },
1132
+ {
1133
+ /// subscribe to collections
1134
+ key: "subscribeToCollections",
1135
+ value: function subscribeToCollections(config) {
1136
+ var _this = this;
1137
+ if (config.length === 0) {
1138
+ return function() {};
1139
+ }
1140
+ var s = this.getSocketInstance();
1141
+ var collectionsNames = config.map(function(c) {
1142
+ return c.collectionName;
1143
+ });
1144
+ var eventHandlers = [];
1145
+ config.forEach(function(configuration) {
1146
+ 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;
1147
+ var attach = function(eventName, handler) {
1148
+ _this.socket.off(eventName, handler);
1149
+ _this.socket.on(eventName, handler);
1150
+ eventHandlers.push({
1151
+ eventName: eventName,
1152
+ handler: handler
1153
+ });
1154
+ };
1155
+ attach("initial:".concat(collectionName), onFirstTime);
1156
+ attach("add:".concat(collectionName), onAdd);
1157
+ attach("update:".concat(collectionName), onModify);
1158
+ attach("delete:".concat(collectionName), onRemove);
1159
+ extraParsers === null || extraParsers === void 0 ? void 0 : extraParsers.forEach(function(parsers) {
1160
+ var extraOnAdd = parsers.onAdd, extraOnFirstTime = parsers.onFirstTime, extraOnModify = parsers.onModify, extraOnRemove = parsers.onRemove;
1161
+ attach("initial:".concat(collectionName), extraOnFirstTime);
1162
+ attach("add:".concat(collectionName), extraOnAdd);
1163
+ attach("update:".concat(collectionName), extraOnModify);
1164
+ attach("delete:".concat(collectionName), extraOnRemove);
1165
+ });
1166
+ });
1167
+ s.emit("subscribe_collections", collectionsNames, function(callback) {
1168
+ if (callback.success) {
1169
+ console.log("Successfully subscribed to: ".concat(collectionsNames.join(", ")));
1170
+ } else {
1171
+ console.error("Failed to subscribe to ".concat(config.join(", "), ": ").concat(callback.message));
1172
+ }
1173
+ });
1174
+ return function() {
1175
+ console.log("Cleaning up subscriptions for: ".concat(collectionsNames.join(", ")));
1176
+ s.emit("unsubscribe_collections", collectionsNames);
1177
+ eventHandlers.forEach(function(eh) {
1178
+ s.off(eh.eventName, eh.handler);
1179
+ });
1180
+ };
1181
+ }
1182
+ },
1183
+ {
1184
+ /// set data
1185
+ key: "setData",
1186
+ value: function setData(payload) {
1187
+ var s = this.getSocketInstance();
1188
+ return new Promise(function(resolve, reject) {
1189
+ s.emit("set_data", payload, function(callback) {
1190
+ if (callback.success) {
1191
+ console.log("Data saved successfully:", payload);
1192
+ console.log("ack", callback);
1193
+ resolve(callback);
1194
+ } else {
1195
+ reject(new Error(callback.message || "Save operation failed"));
1196
+ }
1197
+ });
1198
+ });
1199
+ }
1200
+ },
1201
+ {
1202
+ /// get data
1203
+ key: "getCollectionData",
1204
+ value: function getCollectionData(payload) {
1205
+ var s = this.getSocketInstance();
1206
+ s.emit("get_data", {
1207
+ collection_name: payload.collection_name
1208
+ }, function(socketCallback) {
1209
+ if (socketCallback.success && socketCallback.data) {
1210
+ payload.callback(socketCallback.data);
1211
+ } else {
1212
+ payload.callback(payload.defaultValue);
1213
+ }
1214
+ });
1215
+ }
1216
+ },
1217
+ {
1218
+ key: "getDocumentData",
1219
+ value: function getDocumentData(payload) {
1220
+ var s = this.getSocketInstance();
1221
+ s.emit("get_data", {
1222
+ collection_name: payload.collection_name,
1223
+ key: payload.key
1224
+ }, function(socketCallback) {
1225
+ if (socketCallback.success && socketCallback.data) {
1226
+ payload.callback(socketCallback.data);
1227
+ } else {
1228
+ payload.callback(payload.defaultValue);
1229
+ }
1230
+ });
1231
+ }
1232
+ },
1233
+ {
1234
+ /// delete data
1235
+ key: "deleteData",
1236
+ value: function deleteData(payload) {
1237
+ var s = this.getSocketInstance();
1238
+ return new Promise(function(resolve, reject) {
1239
+ s.emit("delete_data", payload, function(callback) {
1240
+ if (callback.success) {
1241
+ console.log("Data deleted successfully:", payload);
1242
+ console.log("delete ack", callback);
1243
+ resolve(callback);
1244
+ } else {
1245
+ reject(new Error(callback.message || "Delete operation failed"));
1246
+ }
1247
+ });
1248
+ });
1249
+ }
1250
+ },
1251
+ {
1252
+ key: "clearAllRedisData",
1253
+ value: function clearAllRedisData() {
1254
+ var s = this.getSocketInstance();
1255
+ return new Promise(function(resolve, reject) {
1256
+ s.emit("clear_all_redis_data", function(ack) {
1257
+ if (ack.success) {
1258
+ resolve(ack);
1259
+ } else {
1260
+ reject(new Error(ack.message || "Clear all Redis data operation failed"));
1261
+ }
1262
+ });
1263
+ });
1264
+ }
1265
+ }
1266
+ ], [
1267
+ {
1268
+ key: "getInstance",
1269
+ value: function getInstance() {
1270
+ if (!_SocketService.instance) {
1271
+ _SocketService.instance = new _SocketService();
1272
+ }
1273
+ return _SocketService.instance;
1274
+ }
1275
+ }
1276
+ ]);
1277
+ return _SocketService;
1278
+ }();
1279
+ var socketServiceInstance = SocketService.getInstance();
973
1280
  // src/components/utils/Checkboxes.tsx
974
1281
  import { useEffect, useState } from "react";
975
1282
  import { jsx, jsxs } from "react/jsx-runtime";
@@ -3522,14 +3829,14 @@ function rectsAreEqual(a, b) {
3522
3829
  return a.x === b.x && a.y === b.y && a.width === b.width && a.height === b.height;
3523
3830
  }
3524
3831
  function observeMove(element, onMove) {
3525
- var io = null;
3832
+ var io2 = null;
3526
3833
  var timeoutId;
3527
3834
  var root = getDocumentElement(element);
3528
3835
  function cleanup() {
3529
3836
  var _io;
3530
3837
  clearTimeout(timeoutId);
3531
- (_io = io) == null || _io.disconnect();
3532
- io = null;
3838
+ (_io = io2) == null || _io.disconnect();
3839
+ io2 = null;
3533
3840
  }
3534
3841
  function refresh(skip, threshold) {
3535
3842
  if (skip === void 0) {
@@ -3577,14 +3884,14 @@ function observeMove(element, onMove) {
3577
3884
  isFirstUpdate = false;
3578
3885
  }
3579
3886
  try {
3580
- io = new IntersectionObserver(handleObserve, _object_spread_props(_object_spread({}, options), {
3887
+ io2 = new IntersectionObserver(handleObserve, _object_spread_props(_object_spread({}, options), {
3581
3888
  // Handle <iframe>s
3582
3889
  root: root.ownerDocument
3583
3890
  }));
3584
3891
  } catch (e) {
3585
- io = new IntersectionObserver(handleObserve, options);
3892
+ io2 = new IntersectionObserver(handleObserve, options);
3586
3893
  }
3587
- io.observe(element);
3894
+ io2.observe(element);
3588
3895
  }
3589
3896
  refresh(true);
3590
3897
  return cleanup;
@@ -3,7 +3,7 @@ import { FirebaseStorage } from 'firebase/storage';
3
3
  import { Auth, GoogleAuthProvider, User } from 'firebase/auth';
4
4
  import { AppCheck } from 'firebase/app-check';
5
5
  import { WhereFilterOp, Unsubscribe, Firestore, CollectionReference, DocumentData, Timestamp, DocumentSnapshot } from 'firebase/firestore';
6
- import { TObject, NxUser, CountryOptions, LanguageOptions, UserPermissionsObject, userPermissionsObjectValue, Client } from 'akeyless-types-commons';
6
+ import { TObject, NxUser, CountryOptions, LanguageOptions, UserPermissionsObject, userPermissionsObjectValue, Client, RedisUpdateType, RedisUpdatePayload, SocketCallbackResponse } from 'akeyless-types-commons';
7
7
  import React, { Dispatch, SetStateAction } from 'react';
8
8
  import { ClassValue } from 'clsx';
9
9
 
@@ -31,6 +31,8 @@ interface OnSnapshotConfig extends OnSnapshotParsers {
31
31
  fieldName: string;
32
32
  direction: "asc" | "desc";
33
33
  }[];
34
+ parseAs?: "object" | "array";
35
+ subscribeTo?: "cache" | "db";
34
36
  }
35
37
  interface OnSnapshotConfigDocument extends Omit<OnSnapshotParsers, "onAdd"> {
36
38
  collectionName: string;
@@ -242,9 +244,11 @@ declare const biDomain: string;
242
244
  declare const notificationsDomain: string;
243
245
  declare const callCenterGeoDomain: string;
244
246
  declare const callCenterEventsDomain: string;
247
+ declare const dataSocketDomain: string;
248
+ declare const dataSyncDomain: string;
245
249
  declare const akeylessOnlineDomain: string;
246
250
  type Method = "GET" | "POST" | "PUT" | "DELETE";
247
- type ServerName = "devices" | "bi" | "call-center-geo" | "call-center-events" | "notifications";
251
+ type ServerName = "devices" | "bi" | "call-center-geo" | "call-center-events" | "notifications" | "data-socket" | "data-sync";
248
252
  declare const nxApiCall: (serverName: ServerName, method: Method, url: string, data?: TObject<any>) => Promise<any>;
249
253
 
250
254
  declare const checkUserPermissions: <T extends keyof UserPermissionsObject>(userPermissions: UserPermissionsObject, entity: T, permissions?: userPermissionsObjectValue<T>[], mode?: "some" | "every") => boolean;
@@ -269,4 +273,40 @@ interface EmailAttachment {
269
273
  declare const createAttachmentFromBlob: (blob: Blob, filename: string, mimeType?: string, disposition?: "attachment" | "inline") => Promise<EmailAttachment>;
270
274
  declare const createAttachmentFromUrl: (url: string, filename?: string) => Promise<EmailAttachment>;
271
275
 
272
- export { type EmailAttachment, type ValidationType, addAuditRecord, addLoginAudit, add_document, addressRegex, akeylessOnlineDomain, app, appCheck, auth, baseDomain, biDomain, calculateBearing, callCenterEventsDomain, callCenterGeoDomain, carsRegex, chartsRegex, checkUserPermissions, cleanNxSites, cn, collections, colorRegex, createAttachmentFromBlob, createAttachmentFromUrl, createSelectors, db, delete_document, devicesDomain, displayFormatPhoneNumber, durationToSeconds, emailRegex, extractAlertsData, extractBoardsData, extractCanbusData, extractCarsData, extractClientData, extractLocationData, extractSiteData, fire_base_TIME_TEMP, formatCarNumber, getAddressByGeo, getFileUrlFromStorage, getFixedNumber, getFormCheckboxValue, getFormElementValue, getLocationUrl, getUserByEmail, getUserByIdentifier, getUserByPhone, getUserCountryByIp, get_all_documents, get_document_by_id, get_international_phone_number, googleLoginProvider, handleChange, handleInvalid, handlePaste, initializeUserPermissions, international_israel_phone_format, isInternational, isInternationalIsraelPhone, isLocal, isNodeEnv, is_iccid, local_israel_phone_format, mode, multiStringFormat, notificationsDomain, numbersOnlyRegex, numbersRegex, nxApiCall, parseMultiSelectInput, parsePermissions, parseSnapshotAsArray, priceRegex, propsAreEqual, query_document, query_document_by_conditions, query_documents, query_documents_by_conditions, renderOnce, secondsToDuration, setFormElementValue, setState, set_document, simpleExtractData, snapshot, snapshotDocument, sort_by_timestamp, storage, textNumbersRegex, textRegex, timestamp_to_millis, timestamp_to_string, uploadFileToStorage, useLoginWithGoogle, useStoreValues, useValidation, userNameFormat, validateAndCast, validateUserStatusAndPermissions };
276
+ interface GetDataPayload<T = any> {
277
+ key: string;
278
+ collection_name: string;
279
+ callback: (value: T) => void;
280
+ defaultValue: T;
281
+ }
282
+ declare class SocketService {
283
+ private static instance;
284
+ private socket;
285
+ private connectCallbacks;
286
+ private disconnectCallbacks;
287
+ private authToken;
288
+ private initSocket;
289
+ private constructor();
290
+ static getInstance(): SocketService;
291
+ private getSocketInstance;
292
+ startSession(token: string): void;
293
+ onConnect(callback: () => void): () => void;
294
+ offConnect(callback: () => void): void;
295
+ onDisconnect(callback: () => void): () => void;
296
+ offDisconnect(callback: () => void): void;
297
+ isConnected(): boolean;
298
+ setAuthToken(token: string): void;
299
+ disconnectSocket(): void;
300
+ subscribeToCollections(config: OnSnapshotConfig[]): () => void;
301
+ setData<UpdateType extends RedisUpdateType, DataType = any>(payload: RedisUpdatePayload<UpdateType, DataType>): Promise<SocketCallbackResponse>;
302
+ getCollectionData<T>(payload: Omit<GetDataPayload<T>, "key">): void;
303
+ getDocumentData<T>(payload: GetDataPayload<T>): void;
304
+ deleteData(payload: {
305
+ key: string;
306
+ collection_name: string;
307
+ }): Promise<SocketCallbackResponse>;
308
+ clearAllRedisData(): Promise<SocketCallbackResponse>;
309
+ }
310
+ declare const socketServiceInstance: SocketService;
311
+
312
+ export { type EmailAttachment, type ValidationType, addAuditRecord, addLoginAudit, add_document, addressRegex, akeylessOnlineDomain, app, appCheck, auth, baseDomain, biDomain, calculateBearing, callCenterEventsDomain, callCenterGeoDomain, carsRegex, chartsRegex, checkUserPermissions, cleanNxSites, cn, collections, colorRegex, createAttachmentFromBlob, createAttachmentFromUrl, createSelectors, dataSocketDomain, dataSyncDomain, db, delete_document, devicesDomain, displayFormatPhoneNumber, durationToSeconds, emailRegex, extractAlertsData, extractBoardsData, extractCanbusData, extractCarsData, extractClientData, extractLocationData, extractSiteData, fire_base_TIME_TEMP, formatCarNumber, getAddressByGeo, getFileUrlFromStorage, getFixedNumber, getFormCheckboxValue, getFormElementValue, getLocationUrl, getUserByEmail, getUserByIdentifier, getUserByPhone, getUserCountryByIp, get_all_documents, get_document_by_id, get_international_phone_number, googleLoginProvider, handleChange, handleInvalid, handlePaste, initializeUserPermissions, international_israel_phone_format, isInternational, isInternationalIsraelPhone, isLocal, isNodeEnv, is_iccid, local_israel_phone_format, mode, multiStringFormat, notificationsDomain, numbersOnlyRegex, numbersRegex, nxApiCall, parseMultiSelectInput, parsePermissions, parseSnapshotAsArray, priceRegex, propsAreEqual, query_document, query_document_by_conditions, query_documents, query_documents_by_conditions, renderOnce, secondsToDuration, setFormElementValue, setState, set_document, simpleExtractData, snapshot, snapshotDocument, socketServiceInstance, sort_by_timestamp, storage, textNumbersRegex, textRegex, timestamp_to_millis, timestamp_to_string, uploadFileToStorage, useLoginWithGoogle, useStoreValues, useValidation, userNameFormat, validateAndCast, validateUserStatusAndPermissions };
@@ -3,7 +3,7 @@ import { FirebaseStorage } from 'firebase/storage';
3
3
  import { Auth, GoogleAuthProvider, User } from 'firebase/auth';
4
4
  import { AppCheck } from 'firebase/app-check';
5
5
  import { WhereFilterOp, Unsubscribe, Firestore, CollectionReference, DocumentData, Timestamp, DocumentSnapshot } from 'firebase/firestore';
6
- import { TObject, NxUser, CountryOptions, LanguageOptions, UserPermissionsObject, userPermissionsObjectValue, Client } from 'akeyless-types-commons';
6
+ import { TObject, NxUser, CountryOptions, LanguageOptions, UserPermissionsObject, userPermissionsObjectValue, Client, RedisUpdateType, RedisUpdatePayload, SocketCallbackResponse } from 'akeyless-types-commons';
7
7
  import React, { Dispatch, SetStateAction } from 'react';
8
8
  import { ClassValue } from 'clsx';
9
9
 
@@ -31,6 +31,8 @@ interface OnSnapshotConfig extends OnSnapshotParsers {
31
31
  fieldName: string;
32
32
  direction: "asc" | "desc";
33
33
  }[];
34
+ parseAs?: "object" | "array";
35
+ subscribeTo?: "cache" | "db";
34
36
  }
35
37
  interface OnSnapshotConfigDocument extends Omit<OnSnapshotParsers, "onAdd"> {
36
38
  collectionName: string;
@@ -242,9 +244,11 @@ declare const biDomain: string;
242
244
  declare const notificationsDomain: string;
243
245
  declare const callCenterGeoDomain: string;
244
246
  declare const callCenterEventsDomain: string;
247
+ declare const dataSocketDomain: string;
248
+ declare const dataSyncDomain: string;
245
249
  declare const akeylessOnlineDomain: string;
246
250
  type Method = "GET" | "POST" | "PUT" | "DELETE";
247
- type ServerName = "devices" | "bi" | "call-center-geo" | "call-center-events" | "notifications";
251
+ type ServerName = "devices" | "bi" | "call-center-geo" | "call-center-events" | "notifications" | "data-socket" | "data-sync";
248
252
  declare const nxApiCall: (serverName: ServerName, method: Method, url: string, data?: TObject<any>) => Promise<any>;
249
253
 
250
254
  declare const checkUserPermissions: <T extends keyof UserPermissionsObject>(userPermissions: UserPermissionsObject, entity: T, permissions?: userPermissionsObjectValue<T>[], mode?: "some" | "every") => boolean;
@@ -269,4 +273,40 @@ interface EmailAttachment {
269
273
  declare const createAttachmentFromBlob: (blob: Blob, filename: string, mimeType?: string, disposition?: "attachment" | "inline") => Promise<EmailAttachment>;
270
274
  declare const createAttachmentFromUrl: (url: string, filename?: string) => Promise<EmailAttachment>;
271
275
 
272
- export { type EmailAttachment, type ValidationType, addAuditRecord, addLoginAudit, add_document, addressRegex, akeylessOnlineDomain, app, appCheck, auth, baseDomain, biDomain, calculateBearing, callCenterEventsDomain, callCenterGeoDomain, carsRegex, chartsRegex, checkUserPermissions, cleanNxSites, cn, collections, colorRegex, createAttachmentFromBlob, createAttachmentFromUrl, createSelectors, db, delete_document, devicesDomain, displayFormatPhoneNumber, durationToSeconds, emailRegex, extractAlertsData, extractBoardsData, extractCanbusData, extractCarsData, extractClientData, extractLocationData, extractSiteData, fire_base_TIME_TEMP, formatCarNumber, getAddressByGeo, getFileUrlFromStorage, getFixedNumber, getFormCheckboxValue, getFormElementValue, getLocationUrl, getUserByEmail, getUserByIdentifier, getUserByPhone, getUserCountryByIp, get_all_documents, get_document_by_id, get_international_phone_number, googleLoginProvider, handleChange, handleInvalid, handlePaste, initializeUserPermissions, international_israel_phone_format, isInternational, isInternationalIsraelPhone, isLocal, isNodeEnv, is_iccid, local_israel_phone_format, mode, multiStringFormat, notificationsDomain, numbersOnlyRegex, numbersRegex, nxApiCall, parseMultiSelectInput, parsePermissions, parseSnapshotAsArray, priceRegex, propsAreEqual, query_document, query_document_by_conditions, query_documents, query_documents_by_conditions, renderOnce, secondsToDuration, setFormElementValue, setState, set_document, simpleExtractData, snapshot, snapshotDocument, sort_by_timestamp, storage, textNumbersRegex, textRegex, timestamp_to_millis, timestamp_to_string, uploadFileToStorage, useLoginWithGoogle, useStoreValues, useValidation, userNameFormat, validateAndCast, validateUserStatusAndPermissions };
276
+ interface GetDataPayload<T = any> {
277
+ key: string;
278
+ collection_name: string;
279
+ callback: (value: T) => void;
280
+ defaultValue: T;
281
+ }
282
+ declare class SocketService {
283
+ private static instance;
284
+ private socket;
285
+ private connectCallbacks;
286
+ private disconnectCallbacks;
287
+ private authToken;
288
+ private initSocket;
289
+ private constructor();
290
+ static getInstance(): SocketService;
291
+ private getSocketInstance;
292
+ startSession(token: string): void;
293
+ onConnect(callback: () => void): () => void;
294
+ offConnect(callback: () => void): void;
295
+ onDisconnect(callback: () => void): () => void;
296
+ offDisconnect(callback: () => void): void;
297
+ isConnected(): boolean;
298
+ setAuthToken(token: string): void;
299
+ disconnectSocket(): void;
300
+ subscribeToCollections(config: OnSnapshotConfig[]): () => void;
301
+ setData<UpdateType extends RedisUpdateType, DataType = any>(payload: RedisUpdatePayload<UpdateType, DataType>): Promise<SocketCallbackResponse>;
302
+ getCollectionData<T>(payload: Omit<GetDataPayload<T>, "key">): void;
303
+ getDocumentData<T>(payload: GetDataPayload<T>): void;
304
+ deleteData(payload: {
305
+ key: string;
306
+ collection_name: string;
307
+ }): Promise<SocketCallbackResponse>;
308
+ clearAllRedisData(): Promise<SocketCallbackResponse>;
309
+ }
310
+ declare const socketServiceInstance: SocketService;
311
+
312
+ export { type EmailAttachment, type ValidationType, addAuditRecord, addLoginAudit, add_document, addressRegex, akeylessOnlineDomain, app, appCheck, auth, baseDomain, biDomain, calculateBearing, callCenterEventsDomain, callCenterGeoDomain, carsRegex, chartsRegex, checkUserPermissions, cleanNxSites, cn, collections, colorRegex, createAttachmentFromBlob, createAttachmentFromUrl, createSelectors, dataSocketDomain, dataSyncDomain, db, delete_document, devicesDomain, displayFormatPhoneNumber, durationToSeconds, emailRegex, extractAlertsData, extractBoardsData, extractCanbusData, extractCarsData, extractClientData, extractLocationData, extractSiteData, fire_base_TIME_TEMP, formatCarNumber, getAddressByGeo, getFileUrlFromStorage, getFixedNumber, getFormCheckboxValue, getFormElementValue, getLocationUrl, getUserByEmail, getUserByIdentifier, getUserByPhone, getUserCountryByIp, get_all_documents, get_document_by_id, get_international_phone_number, googleLoginProvider, handleChange, handleInvalid, handlePaste, initializeUserPermissions, international_israel_phone_format, isInternational, isInternationalIsraelPhone, isLocal, isNodeEnv, is_iccid, local_israel_phone_format, mode, multiStringFormat, notificationsDomain, numbersOnlyRegex, numbersRegex, nxApiCall, parseMultiSelectInput, parsePermissions, parseSnapshotAsArray, priceRegex, propsAreEqual, query_document, query_document_by_conditions, query_documents, query_documents_by_conditions, renderOnce, secondsToDuration, setFormElementValue, setState, set_document, simpleExtractData, snapshot, snapshotDocument, socketServiceInstance, sort_by_timestamp, storage, textNumbersRegex, textRegex, timestamp_to_millis, timestamp_to_string, uploadFileToStorage, useLoginWithGoogle, useStoreValues, useValidation, userNameFormat, validateAndCast, validateUserStatusAndPermissions };