@voicenter-team/events-sdk 0.0.39 → 0.0.42

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.
@@ -1,13 +1,15 @@
1
1
  import { DebouncedFuncLeading } from 'lodash';
2
2
  import { io } from 'socket.io-client';
3
- import { LoggerOptions } from '@voicenter-team/socketio-storage-logger/dist/storage-logger';
3
+ import { LoggerOptions } from '@voicenter-team/socketio-storage-logger';
4
4
  import { Socket as Socket_2 } from 'socket.io-client';
5
5
 
6
6
  export declare type ActiveRoomListener = (event: number | undefined) => void
7
7
 
8
8
  export declare type addRoomListener = (value: string) => void
9
9
 
10
- export declare type AllDialersStatusEvent = {
10
+ export declare type AllDialersStatusEvent = EventTypeData<EventsEnum.ALL_DIALER_STATUS>
11
+
12
+ declare type AllDialersStatusEvent_2 = {
11
13
  dialers: Array<Dialer>;
12
14
  /**
13
15
  * 0 - Connection was establishing successfully.
@@ -27,7 +29,9 @@ export declare type AllDialersStatusEvent = {
27
29
  serverTimeOffset: number;
28
30
  };
29
31
 
30
- export declare type AllExtensionStatusEvent = {
32
+ export declare type AllExtensionStatusEvent = EventTypeData<EventsEnum.ALL_EXTENSION_STATUS>
33
+
34
+ declare type AllExtensionStatusEvent_2 = {
31
35
  /**
32
36
  * 0 - Connection was establishing successfully.
33
37
  */
@@ -40,14 +44,20 @@ export declare type AllExtensionStatusEvent = {
40
44
  /**
41
45
  * Server time at the moment of the event
42
46
  */
43
- serverTime: number;
47
+ servertime: number;
44
48
  /**
45
49
  * Difference in time between server and client
46
50
  */
47
- serverTimeOffset: number;
51
+ servertimeoffset: number;
48
52
  };
49
53
 
50
- export declare type AllUsersStatusEvent = {
54
+ declare interface AllExtensionStatusEventExtended extends Omit<OriginalAllExtensionStatusEvent_2, 'extensions'> {
55
+ extensions: Array<ExtensionDataExtended>
56
+ }
57
+
58
+ export declare type AllUsersStatusEvent = EventTypeData<EventsEnum.ALL_USERS_STATUS>
59
+
60
+ declare type AllUsersStatusEvent_2 = {
51
61
  users: Array<User>;
52
62
  /**
53
63
  * 0 - Connection was establishing successfully.
@@ -87,14 +97,14 @@ declare class AuthClass {
87
97
 
88
98
  export declare type CallAddingProgressListener = (callId: string | undefined) => void
89
99
 
90
- export declare enum CallStatusEnum {
100
+ declare enum CallStatusEnum {
91
101
  RINGING = 'Ringing',
92
102
  TALKING = 'Talking',
93
103
  DIALING = 'Dialing',
94
104
  HOLD = 'Hold',
95
105
  }
96
106
 
97
- export declare enum CallTypeEnum {
107
+ declare enum CallTypeEnum {
98
108
  INCOMING = 'Incoming',
99
109
  OUTGOING = 'Outgoing',
100
110
  }
@@ -124,7 +134,7 @@ declare interface CurrentCallUTCExtended extends ExtensionCall {
124
134
  callAnswered_UTC_CLIENT: number
125
135
  }
126
136
 
127
- export declare type CustomData = {
137
+ declare type CustomData = {
128
138
  /**
129
139
  * Is do not call me
130
140
  */
@@ -144,7 +154,7 @@ export declare type CustomData = {
144
154
  DoNotCallMetransactionId?: string;
145
155
  };
146
156
 
147
- export declare type Dialer = {
157
+ declare type Dialer = {
148
158
  /**
149
159
  * Code
150
160
  */
@@ -172,7 +182,9 @@ export declare type Dialer = {
172
182
  statistics: string;
173
183
  };
174
184
 
175
- export declare type DialerEvent = {
185
+ export declare type DialerEvent = EventTypeData<EventsEnum.DIALER_EVENT>
186
+
187
+ declare type DialerEvent_2 = {
176
188
  data: Dialer;
177
189
  /**
178
190
  * callerID
@@ -196,26 +208,25 @@ export declare type DialerEvent = {
196
208
  telephonyServerTime?: number;
197
209
  };
198
210
 
199
- export declare enum DialerTypeEnum {
211
+ declare enum DialerTypeEnum {
200
212
  AUTOMATIC = 'Automatic',
201
213
  IVR = 'IVR',
202
214
  }
203
215
 
204
- export declare enum DirectionEnum {
216
+ declare enum DirectionEnum {
205
217
  INCOMINC = 'Incoming',
206
218
  OUTGOING = 'Outgoing',
207
219
  SPY = 'Spy',
208
220
  CLICK2CALL = 'Click2Call',
209
221
  }
210
222
 
211
- export declare enum DoNotCallMeStatusCodeEnum {
223
+ declare enum DoNotCallMeStatusCodeEnum {
212
224
  RESPONSE_FROM_API_VALID = 'RESPONSE_FROM_API_VALID',
213
225
  RESPONSE_FROM_API_INVALID = 'RESPONSE_FROM_API_INVALID',
214
226
  }
215
227
 
216
228
  declare type Error_2 = {
217
229
  };
218
- export { Error_2 as Error }
219
230
 
220
231
  /**
221
232
  * This type defines a map where each key is an event name, and the value is an array of callback functions associated with that event.
@@ -234,22 +245,24 @@ export declare type EventCallbackRegistry = {
234
245
  [K in EventTypeNames]: (data: EventDataMap[K]) => void
235
246
  }
236
247
 
248
+ export declare type EventData = EventDataMapExtended[EventsEnum]
249
+
237
250
  /**
238
251
  * Mapping of event names to their respective data structures.
239
252
  * The data structures that socket io will send us
240
253
  */
241
254
  export declare interface EventDataMap {
242
- [EventsEnum.ALL_EXTENSION_STATUS]: AllExtensionStatusEvent
243
- [EventsEnum.ALL_DIALER_STATUS]: AllDialersStatusEvent
244
- [EventsEnum.ALL_USERS_STATUS]: AllUsersStatusEvent
245
- [EventsEnum.QUEUE_EVENT]: QueueEvent
246
- [EventsEnum.EXTENSION_EVENT]: ExtensionEvent
247
- [EventsEnum.DIALER_EVENT]: DialerEvent
248
- [EventsEnum.LOGIN_SUCCESS]: LoginSuccessEvent
249
- [EventsEnum.LOGIN_STATUS]: LoginStatusEvent
250
- [EventsEnum.KEEP_ALIVE_RESPONSE]: KeepAliveResponseEvent
251
- [EventsEnum.ONLINE_STATUS_EVENT]: OnlineStatusEvent
252
- [EventsEnum.EXTENSIONS_UPDATED]: ExtensionsUpdated
255
+ [EventsEnum.ALL_EXTENSION_STATUS]: OriginalAllExtensionStatusEvent
256
+ [EventsEnum.ALL_DIALER_STATUS]: OriginalAllDialersStatusEvent
257
+ [EventsEnum.ALL_USERS_STATUS]: OriginalAllUsersStatusEvent
258
+ [EventsEnum.QUEUE_EVENT]: OriginalQueueEvent
259
+ [EventsEnum.EXTENSION_EVENT]: OriginalExtensionEvent
260
+ [EventsEnum.DIALER_EVENT]: OriginalDialerEvent
261
+ [EventsEnum.LOGIN_SUCCESS]: OriginalLoginSuccessEvent
262
+ [EventsEnum.LOGIN_STATUS]: OriginalLoginStatusEvent
263
+ [EventsEnum.KEEP_ALIVE_RESPONSE]: OriginalKeepAliveResponseEvent
264
+ [EventsEnum.ONLINE_STATUS_EVENT]: OriginalOnlineStatusEvent
265
+ [EventsEnum.EXTENSIONS_UPDATED]: OriginalExtensionsUpdated
253
266
  }
254
267
 
255
268
  /**
@@ -258,6 +271,7 @@ export declare interface EventDataMap {
258
271
  */
259
272
  export declare interface EventDataMapExtended extends EventDataMap {
260
273
  [EventsEnum.EXTENSION_EVENT]: ExtensionEventExtended
274
+ [EventsEnum.ALL_EXTENSION_STATUS]: AllExtensionStatusEventExtended
261
275
  }
262
276
 
263
277
  declare class EventEmitterClass {
@@ -271,7 +285,7 @@ declare class EventEmitterClass {
271
285
  emit<T extends EventTypeNames>(event: T, data: EventTypeData<T>): void;
272
286
  }
273
287
 
274
- export declare enum EventsEnum {
288
+ declare enum EventsEnum {
275
289
  ALL_DIALER_STATUS = 'AllDialersStatus',
276
290
  ALL_EXTENSION_STATUS = 'AllExtensionsStatus',
277
291
  ALL_USERS_STATUS = 'AllUsersStatus',
@@ -314,7 +328,7 @@ declare class EventsSdkClass {
314
328
  constructor(options: EventsSdkOptions);
315
329
  on<T extends EventTypeNames>(event: T, callback: EventSpecificCallback<T>): void;
316
330
  on(event: '*', callback: (data: GenericEventWrapper) => void): void;
317
- emit(event: EventsEnum, data: unknown): void;
331
+ emit<T extends ServerEmitEventTypeNames>(event: T, ...args: Parameters<ServerEmitEventCallbackRegistry[T]>): void;
318
332
  connect(serverParameter: ServerParameter): void;
319
333
  disconnect(): void;
320
334
  clearKeepAliveInterval(): void;
@@ -412,7 +426,7 @@ export declare type EventWrappedSocketDataMap = {
412
426
  [K in EventTypeNames]: WrappedSocketEvent<K>
413
427
  }
414
428
 
415
- export declare type Extension = {
429
+ declare type Extension = {
416
430
  calls: Array<ExtensionCall>;
417
431
  /**
418
432
  * Number
@@ -474,7 +488,7 @@ export declare type Extension = {
474
488
  lastAnsweredCallEventEpoch: number;
475
489
  };
476
490
 
477
- export declare type ExtensionCall = {
491
+ declare type ExtensionCall = {
478
492
  /**
479
493
  * Ip
480
494
  */
@@ -574,11 +588,15 @@ export declare type ExtensionCall = {
574
588
  calldurationinterval: number;
575
589
  };
576
590
 
591
+ declare type ExtensionDataExtended = ExtensionUTCExtended | ExtensionEnded
592
+
577
593
  declare interface ExtensionEnded extends Extension {
578
594
  currentCall?: CurrentCallEnded
579
595
  }
580
596
 
581
- export declare type ExtensionEvent = {
597
+ export declare type ExtensionEvent = EventTypeData<EventsEnum.EXTENSION_EVENT>
598
+
599
+ declare type ExtensionEvent_2 = {
582
600
  data: Extension;
583
601
  cause?: ExtensionHangupCauseEnum;
584
602
  reason: ExtensionEventReasonEnum;
@@ -612,14 +630,14 @@ export declare type ExtensionEvent = {
612
630
  telephonyServerTime?: number;
613
631
  };
614
632
 
615
- declare interface ExtensionEventEnded extends Omit<ExtensionEvent, 'reason' | 'data'> {
633
+ declare interface ExtensionEventEnded extends Omit<OriginalQueueEvent_2, 'reason' | 'data'> {
616
634
  reason: ExtensionEventReasonEnum.HANGUP
617
635
  data: ExtensionEnded
618
636
  }
619
637
 
620
638
  declare type ExtensionEventExtended = ExtensionEventUTCExtended | ExtensionEventEnded
621
639
 
622
- export declare enum ExtensionEventReasonEnum {
640
+ declare enum ExtensionEventReasonEnum {
623
641
  NEWCALL = 'NEWCALL',
624
642
  ANSWER = 'ANSWER',
625
643
  HOLD = 'HOLD',
@@ -628,12 +646,12 @@ export declare enum ExtensionEventReasonEnum {
628
646
  USER_STATUS_UPDATE = 'userStatusUpdate',
629
647
  }
630
648
 
631
- declare interface ExtensionEventUTCExtended extends Omit<ExtensionEvent, 'reason' | 'data'> {
649
+ declare interface ExtensionEventUTCExtended extends Omit<OriginalQueueEvent_2, 'reason' | 'data'> {
632
650
  reason: Exclude<ExtensionEventReasonEnum, ExtensionEventReasonEnum.HANGUP>
633
651
  data: ExtensionUTCExtended
634
652
  }
635
653
 
636
- export declare enum ExtensionHangupCauseEnum {
654
+ declare enum ExtensionHangupCauseEnum {
637
655
  NORMAL_HANGUP = 'Normal hangup',
638
656
  USER_BUSY = 'User busy',
639
657
  CALL_REJECTED = 'Call Rejected',
@@ -644,7 +662,9 @@ export declare enum ExtensionHangupCauseEnum {
644
662
  ANSWERED_ELSEWHERE = 'Answered elsewhere',
645
663
  }
646
664
 
647
- export declare type ExtensionsUpdated = string;
665
+ export declare type ExtensionsUpdated = EventTypeData<EventsEnum.EXTENSIONS_UPDATED>
666
+
667
+ declare type ExtensionsUpdated_2 = string;
648
668
 
649
669
  declare interface ExtensionUTCExtended extends Extension {
650
670
  currentCall?: CurrentCallUTCExtended
@@ -678,7 +698,9 @@ export declare interface ExternalLoginResponse<T> {
678
698
  */
679
699
  export declare type GenericEventWrapper = EventWrappedSocketDataMap[EventTypeNames]
680
700
 
681
- export declare type KeepAliveResponseEvent = {
701
+ export declare type KeepAliveResponseEvent = EventTypeData<EventsEnum.KEEP_ALIVE_RESPONSE>
702
+
703
+ declare type KeepAliveResponseEvent_2 = {
682
704
  /**
683
705
  * Is ok
684
706
  */
@@ -749,7 +771,9 @@ export declare interface LoginSessionPayload {
749
771
  password: string
750
772
  }
751
773
 
752
- export declare type LoginStatusEvent = {
774
+ export declare type LoginStatusEvent = EventTypeData<EventsEnum.LOGIN_STATUS>
775
+
776
+ declare type LoginStatusEvent_2 = {
753
777
  queues: Array<Queue>;
754
778
  /**
755
779
  * 0 - Connection was establishing successfully.
@@ -769,7 +793,16 @@ export declare type LoginStatusEvent = {
769
793
  serverTimeOffset: number;
770
794
  };
771
795
 
772
- export declare type LoginSuccessEvent = {
796
+ /**
797
+ * Event types declared for being used in the application.
798
+ * These are just aliases for the EventTypeData type.
799
+ * We need that for the IDE to show the correct type of the event data, based on if the event is extended or not.
800
+ * NOT FOR USAGE IN THE EVENTS SDK CODEBASE, JUST FOR USAGE IN THE APPLICATION CODEBASE.
801
+ */
802
+
803
+ export declare type LoginSuccessEvent = EventTypeData<EventsEnum.LOGIN_SUCCESS>
804
+
805
+ declare type LoginSuccessEvent_2 = {
773
806
  /**
774
807
  * 0 - Connection was establishing successfully.
775
808
  */
@@ -793,7 +826,9 @@ declare enum LoginType {
793
826
  TOKEN = "Token"
794
827
  }
795
828
 
796
- export declare type OnlineStatusEvent = {
829
+ export declare type OnlineStatusEvent = EventTypeData<EventsEnum.ONLINE_STATUS_EVENT>
830
+
831
+ declare type OnlineStatusEvent_2 = {
797
832
  /**
798
833
  * attemptToConnect
799
834
  */
@@ -822,7 +857,33 @@ export declare interface OpenSIPSEventMap {
822
857
  changeCallStatus: changeCallStatusListener
823
858
  }
824
859
 
825
- export declare type Queue = {
860
+ declare type OriginalAllDialersStatusEvent = RealtimeEvents.AllDialersStatusEvent
861
+
862
+ declare type OriginalAllExtensionStatusEvent = RealtimeEvents.AllExtensionStatusEvent
863
+
864
+ declare type OriginalAllExtensionStatusEvent_2 = RealtimeEvents.AllExtensionStatusEvent
865
+
866
+ declare type OriginalAllUsersStatusEvent = RealtimeEvents.AllUsersStatusEvent
867
+
868
+ declare type OriginalDialerEvent = RealtimeEvents.DialerEvent
869
+
870
+ declare type OriginalExtensionEvent = RealtimeEvents.ExtensionEvent
871
+
872
+ declare type OriginalExtensionsUpdated = RealtimeEvents.ExtensionsUpdated
873
+
874
+ declare type OriginalKeepAliveResponseEvent = RealtimeEvents.KeepAliveResponseEvent
875
+
876
+ declare type OriginalLoginStatusEvent = RealtimeEvents.LoginStatusEvent
877
+
878
+ declare type OriginalLoginSuccessEvent = RealtimeEvents.LoginSuccessEvent
879
+
880
+ declare type OriginalOnlineStatusEvent = RealtimeEvents.OnlineStatusEvent
881
+
882
+ declare type OriginalQueueEvent = RealtimeEvents.QueueEvent
883
+
884
+ declare type OriginalQueueEvent_2 = RealtimeEvents.QueueEvent
885
+
886
+ declare type Queue = {
826
887
  Calls: Array<QueueCall>;
827
888
  /**
828
889
  * User id
@@ -850,7 +911,7 @@ export declare type Queue = {
850
911
  IsDistributedQueue?: boolean;
851
912
  };
852
913
 
853
- export declare type QueueCall = {
914
+ declare type QueueCall = {
854
915
  /**
855
916
  * Ivr id
856
917
  */
@@ -881,7 +942,9 @@ export declare type QueueCall = {
881
942
  calldurationinterval: number;
882
943
  };
883
944
 
884
- export declare type QueueEvent = {
945
+ export declare type QueueEvent = EventTypeData<EventsEnum.QUEUE_EVENT>
946
+
947
+ declare type QueueEvent_2 = {
885
948
  data: Queue;
886
949
  reason: QueueEventReasonEnum;
887
950
  /**
@@ -898,7 +961,7 @@ export declare type QueueEvent = {
898
961
  telephonyServerTime: number;
899
962
  };
900
963
 
901
- export declare enum QueueEventReasonEnum {
964
+ declare enum QueueEventReasonEnum {
902
965
  ANSWER = 'ANSWER',
903
966
  ABANDONED = 'ABANDONED',
904
967
  EXIT = 'EXIT',
@@ -907,6 +970,42 @@ export declare enum QueueEventReasonEnum {
907
970
 
908
971
  export declare type readyListener = (value: boolean) => void
909
972
 
973
+ declare namespace RealtimeEvents {
974
+ export {
975
+ AllDialersStatusEvent_2 as AllDialersStatusEvent,
976
+ AllExtensionStatusEvent_2 as AllExtensionStatusEvent,
977
+ AllUsersStatusEvent_2 as AllUsersStatusEvent,
978
+ CallStatusEnum,
979
+ CallTypeEnum,
980
+ CustomData,
981
+ Dialer,
982
+ DialerEvent_2 as DialerEvent,
983
+ DialerTypeEnum,
984
+ DirectionEnum,
985
+ DoNotCallMeStatusCodeEnum,
986
+ Error_2 as Error,
987
+ EventsEnum,
988
+ Extension,
989
+ ExtensionCall,
990
+ ExtensionEvent_2 as ExtensionEvent,
991
+ ExtensionEventReasonEnum,
992
+ ExtensionHangupCauseEnum,
993
+ ExtensionsUpdated_2 as ExtensionsUpdated,
994
+ KeepAliveResponseEvent_2 as KeepAliveResponseEvent,
995
+ LoginStatusEvent_2 as LoginStatusEvent,
996
+ LoginSuccessEvent_2 as LoginSuccessEvent,
997
+ OnlineStatusEvent_2 as OnlineStatusEvent,
998
+ Queue,
999
+ QueueCall,
1000
+ QueueEvent_2 as QueueEvent,
1001
+ QueueEventReasonEnum,
1002
+ Recording,
1003
+ Response_2 as Response,
1004
+ Summery,
1005
+ User
1006
+ }
1007
+ }
1008
+
910
1009
  export declare interface ReconnectOptions {
911
1010
  retryCount: number;
912
1011
  maxReconnectAttempts: number;
@@ -915,7 +1014,7 @@ export declare interface ReconnectOptions {
915
1014
  maxReconnectionDelay: number;
916
1015
  }
917
1016
 
918
- export declare type Recording = {
1017
+ declare type Recording = {
919
1018
  /**
920
1019
  * Is muted
921
1020
  */
@@ -938,7 +1037,6 @@ export declare type removeRoomListener = (value: string) => void
938
1037
 
939
1038
  declare type Response_2 = {
940
1039
  };
941
- export { Response_2 as Response }
942
1040
 
943
1041
  export declare type RoomDeletedListener = (roomId: number) => void
944
1042
 
@@ -949,6 +1047,30 @@ export declare interface Server {
949
1047
  Version: string;
950
1048
  }
951
1049
 
1050
+ export declare type ServerEmitEventCallbackRegistry = {
1051
+ [K in ServerEmitEventTypeNames]: (data: ServerEmitEventDataMap[K]) => void
1052
+ }
1053
+
1054
+ /**
1055
+ * Mapping of event names to their respective data structures.
1056
+ * The data structures that we can send to the server
1057
+ */
1058
+ export declare interface ServerEmitEventDataMap {
1059
+ [ServerListenerEventsEnum.UPDATE_MONITORED_EXTENSIONS]: UpdateMonitoredExtensionsPayload
1060
+ [ServerListenerEventsEnum.KEEP_ALIVE]: string
1061
+ }
1062
+
1063
+ /**
1064
+ * Represents the set of all possible event type names as keys from the ServerEmitEventDataMap.
1065
+ * This type is used to define event emitters and data.
1066
+ */
1067
+ export declare type ServerEmitEventTypeNames = keyof ServerEmitEventDataMap
1068
+
1069
+ export declare enum ServerListenerEventsEnum {
1070
+ UPDATE_MONITORED_EXTENSIONS = "updateMonitoredExtensions",
1071
+ KEEP_ALIVE = "keepAlive"
1072
+ }
1073
+
952
1074
  export declare enum ServerParameter {
953
1075
  MAIN = "main",
954
1076
  NEXT = "next"
@@ -992,19 +1114,27 @@ declare class SocketIoClass {
992
1114
  private connected;
993
1115
  getSocketIoFunction(Client: string): void;
994
1116
  initSocketConnection(): void;
995
- initSocketEvents(): void;
996
1117
  clearKeepAliveInterval(): void;
997
1118
  initKeepAlive(): void;
998
1119
  closeAllConnections(): void;
1120
+ initSocketEvents(): void;
1121
+ private onLoginSuccessEvent;
1122
+ private onQueueEvent;
1123
+ private onExtensionEvent;
1124
+ private onDialerEvent;
1125
+ private onLoginStatusEvent;
1126
+ private onAllExtensionStatus;
1127
+ private onAllDialerStatus;
999
1128
  private onKeepAliveResponse;
1129
+ private onExtensionsUpdatedEvent;
1000
1130
  private onConnect;
1001
1131
  private onDisconnect;
1002
1132
  private onConnectError;
1003
1133
  }
1004
1134
 
1005
- export declare type SocketTyped = Socket_2<EventCallbackRegistry, Record<EventsEnum, any>>
1135
+ export declare type SocketTyped = Socket_2<EventCallbackRegistry, ServerEmitEventCallbackRegistry>
1006
1136
 
1007
- export declare type Summery = {
1137
+ declare type Summery = {
1008
1138
  /**
1009
1139
  * Representative
1010
1140
  */
@@ -1015,9 +1145,13 @@ export declare type TestEventListener = (event: { test: string }) => void
1015
1145
 
1016
1146
  declare type TypedSocketIo = (...args: Parameters<typeof io>) => SocketTyped;
1017
1147
 
1148
+ export declare interface UpdateMonitoredExtensionsPayload {
1149
+ extensionsString: string
1150
+ }
1151
+
1018
1152
  export declare type updateRoomListener = (value: string) => void
1019
1153
 
1020
- export declare type User = {
1154
+ declare type User = {
1021
1155
  /**
1022
1156
  * User id
1023
1157
  */