@voicenter-team/events-sdk 0.0.39 → 0.0.41

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<AllExtensionStatusEvent_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,27 +208,23 @@ 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
- declare type Error_2 = {
217
- };
218
- export { Error_2 as Error }
219
-
220
228
  /**
221
229
  * 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.
222
230
  * This structure is used to manage event listeners for different events
@@ -234,22 +242,24 @@ export declare type EventCallbackRegistry = {
234
242
  [K in EventTypeNames]: (data: EventDataMap[K]) => void
235
243
  }
236
244
 
245
+ export declare type EventData = EventDataMapExtended[EventsEnum]
246
+
237
247
  /**
238
248
  * Mapping of event names to their respective data structures.
239
249
  * The data structures that socket io will send us
240
250
  */
241
251
  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
252
+ [EventsEnum.ALL_EXTENSION_STATUS]: AllExtensionStatusEvent_2
253
+ [EventsEnum.ALL_DIALER_STATUS]: AllDialersStatusEvent_2
254
+ [EventsEnum.ALL_USERS_STATUS]: AllUsersStatusEvent_2
255
+ [EventsEnum.QUEUE_EVENT]: QueueEvent_2
256
+ [EventsEnum.EXTENSION_EVENT]: ExtensionEvent_2
257
+ [EventsEnum.DIALER_EVENT]: DialerEvent_2
258
+ [EventsEnum.LOGIN_SUCCESS]: LoginSuccessEvent_2
259
+ [EventsEnum.LOGIN_STATUS]: LoginStatusEvent_2
260
+ [EventsEnum.KEEP_ALIVE_RESPONSE]: KeepAliveResponseEvent_2
261
+ [EventsEnum.ONLINE_STATUS_EVENT]: OnlineStatusEvent_2
262
+ [EventsEnum.EXTENSIONS_UPDATED]: ExtensionsUpdated_2
253
263
  }
254
264
 
255
265
  /**
@@ -258,6 +268,7 @@ export declare interface EventDataMap {
258
268
  */
259
269
  export declare interface EventDataMapExtended extends EventDataMap {
260
270
  [EventsEnum.EXTENSION_EVENT]: ExtensionEventExtended
271
+ [EventsEnum.ALL_EXTENSION_STATUS]: AllExtensionStatusEventExtended
261
272
  }
262
273
 
263
274
  declare class EventEmitterClass {
@@ -271,7 +282,7 @@ declare class EventEmitterClass {
271
282
  emit<T extends EventTypeNames>(event: T, data: EventTypeData<T>): void;
272
283
  }
273
284
 
274
- export declare enum EventsEnum {
285
+ declare enum EventsEnum {
275
286
  ALL_DIALER_STATUS = 'AllDialersStatus',
276
287
  ALL_EXTENSION_STATUS = 'AllExtensionsStatus',
277
288
  ALL_USERS_STATUS = 'AllUsersStatus',
@@ -314,7 +325,7 @@ declare class EventsSdkClass {
314
325
  constructor(options: EventsSdkOptions);
315
326
  on<T extends EventTypeNames>(event: T, callback: EventSpecificCallback<T>): void;
316
327
  on(event: '*', callback: (data: GenericEventWrapper) => void): void;
317
- emit(event: EventsEnum, data: unknown): void;
328
+ emit<T extends ServerEmitEventTypeNames>(event: T, ...args: Parameters<ServerEmitEventCallbackRegistry[T]>): void;
318
329
  connect(serverParameter: ServerParameter): void;
319
330
  disconnect(): void;
320
331
  clearKeepAliveInterval(): void;
@@ -412,7 +423,7 @@ export declare type EventWrappedSocketDataMap = {
412
423
  [K in EventTypeNames]: WrappedSocketEvent<K>
413
424
  }
414
425
 
415
- export declare type Extension = {
426
+ declare type Extension = {
416
427
  calls: Array<ExtensionCall>;
417
428
  /**
418
429
  * Number
@@ -474,7 +485,7 @@ export declare type Extension = {
474
485
  lastAnsweredCallEventEpoch: number;
475
486
  };
476
487
 
477
- export declare type ExtensionCall = {
488
+ declare type ExtensionCall = {
478
489
  /**
479
490
  * Ip
480
491
  */
@@ -574,11 +585,15 @@ export declare type ExtensionCall = {
574
585
  calldurationinterval: number;
575
586
  };
576
587
 
588
+ declare type ExtensionDataExtended = ExtensionUTCExtended | ExtensionEnded
589
+
577
590
  declare interface ExtensionEnded extends Extension {
578
591
  currentCall?: CurrentCallEnded
579
592
  }
580
593
 
581
- export declare type ExtensionEvent = {
594
+ export declare type ExtensionEvent = EventTypeData<EventsEnum.EXTENSION_EVENT>
595
+
596
+ declare type ExtensionEvent_2 = {
582
597
  data: Extension;
583
598
  cause?: ExtensionHangupCauseEnum;
584
599
  reason: ExtensionEventReasonEnum;
@@ -612,14 +627,14 @@ export declare type ExtensionEvent = {
612
627
  telephonyServerTime?: number;
613
628
  };
614
629
 
615
- declare interface ExtensionEventEnded extends Omit<ExtensionEvent, 'reason' | 'data'> {
630
+ declare interface ExtensionEventEnded extends Omit<ExtensionEvent_2, 'reason' | 'data'> {
616
631
  reason: ExtensionEventReasonEnum.HANGUP
617
632
  data: ExtensionEnded
618
633
  }
619
634
 
620
635
  declare type ExtensionEventExtended = ExtensionEventUTCExtended | ExtensionEventEnded
621
636
 
622
- export declare enum ExtensionEventReasonEnum {
637
+ declare enum ExtensionEventReasonEnum {
623
638
  NEWCALL = 'NEWCALL',
624
639
  ANSWER = 'ANSWER',
625
640
  HOLD = 'HOLD',
@@ -628,12 +643,12 @@ export declare enum ExtensionEventReasonEnum {
628
643
  USER_STATUS_UPDATE = 'userStatusUpdate',
629
644
  }
630
645
 
631
- declare interface ExtensionEventUTCExtended extends Omit<ExtensionEvent, 'reason' | 'data'> {
646
+ declare interface ExtensionEventUTCExtended extends Omit<ExtensionEvent_2, 'reason' | 'data'> {
632
647
  reason: Exclude<ExtensionEventReasonEnum, ExtensionEventReasonEnum.HANGUP>
633
648
  data: ExtensionUTCExtended
634
649
  }
635
650
 
636
- export declare enum ExtensionHangupCauseEnum {
651
+ declare enum ExtensionHangupCauseEnum {
637
652
  NORMAL_HANGUP = 'Normal hangup',
638
653
  USER_BUSY = 'User busy',
639
654
  CALL_REJECTED = 'Call Rejected',
@@ -644,7 +659,9 @@ export declare enum ExtensionHangupCauseEnum {
644
659
  ANSWERED_ELSEWHERE = 'Answered elsewhere',
645
660
  }
646
661
 
647
- export declare type ExtensionsUpdated = string;
662
+ export declare type ExtensionsUpdated = EventTypeData<EventsEnum.EXTENSIONS_UPDATED>
663
+
664
+ declare type ExtensionsUpdated_2 = string;
648
665
 
649
666
  declare interface ExtensionUTCExtended extends Extension {
650
667
  currentCall?: CurrentCallUTCExtended
@@ -678,7 +695,9 @@ export declare interface ExternalLoginResponse<T> {
678
695
  */
679
696
  export declare type GenericEventWrapper = EventWrappedSocketDataMap[EventTypeNames]
680
697
 
681
- export declare type KeepAliveResponseEvent = {
698
+ export declare type KeepAliveResponseEvent = EventTypeData<EventsEnum.KEEP_ALIVE_RESPONSE>
699
+
700
+ declare type KeepAliveResponseEvent_2 = {
682
701
  /**
683
702
  * Is ok
684
703
  */
@@ -749,7 +768,9 @@ export declare interface LoginSessionPayload {
749
768
  password: string
750
769
  }
751
770
 
752
- export declare type LoginStatusEvent = {
771
+ export declare type LoginStatusEvent = EventTypeData<EventsEnum.LOGIN_STATUS>
772
+
773
+ declare type LoginStatusEvent_2 = {
753
774
  queues: Array<Queue>;
754
775
  /**
755
776
  * 0 - Connection was establishing successfully.
@@ -769,7 +790,16 @@ export declare type LoginStatusEvent = {
769
790
  serverTimeOffset: number;
770
791
  };
771
792
 
772
- export declare type LoginSuccessEvent = {
793
+ /**
794
+ * Event types declared for being used in the application.
795
+ * These are just aliases for the EventTypeData type.
796
+ * We need that for the IDE to show the correct type of the event data, based on if the event is extended or not.
797
+ * NOT FOR USAGE IN THE EVENTS SDK CODEBASE, JUST FOR USAGE IN THE APPLICATION CODEBASE.
798
+ */
799
+
800
+ export declare type LoginSuccessEvent = EventTypeData<EventsEnum.LOGIN_SUCCESS>
801
+
802
+ declare type LoginSuccessEvent_2 = {
773
803
  /**
774
804
  * 0 - Connection was establishing successfully.
775
805
  */
@@ -793,7 +823,9 @@ declare enum LoginType {
793
823
  TOKEN = "Token"
794
824
  }
795
825
 
796
- export declare type OnlineStatusEvent = {
826
+ export declare type OnlineStatusEvent = EventTypeData<EventsEnum.ONLINE_STATUS_EVENT>
827
+
828
+ declare type OnlineStatusEvent_2 = {
797
829
  /**
798
830
  * attemptToConnect
799
831
  */
@@ -822,7 +854,7 @@ export declare interface OpenSIPSEventMap {
822
854
  changeCallStatus: changeCallStatusListener
823
855
  }
824
856
 
825
- export declare type Queue = {
857
+ declare type Queue = {
826
858
  Calls: Array<QueueCall>;
827
859
  /**
828
860
  * User id
@@ -850,7 +882,7 @@ export declare type Queue = {
850
882
  IsDistributedQueue?: boolean;
851
883
  };
852
884
 
853
- export declare type QueueCall = {
885
+ declare type QueueCall = {
854
886
  /**
855
887
  * Ivr id
856
888
  */
@@ -881,7 +913,9 @@ export declare type QueueCall = {
881
913
  calldurationinterval: number;
882
914
  };
883
915
 
884
- export declare type QueueEvent = {
916
+ export declare type QueueEvent = EventTypeData<EventsEnum.QUEUE_EVENT>
917
+
918
+ declare type QueueEvent_2 = {
885
919
  data: Queue;
886
920
  reason: QueueEventReasonEnum;
887
921
  /**
@@ -898,7 +932,7 @@ export declare type QueueEvent = {
898
932
  telephonyServerTime: number;
899
933
  };
900
934
 
901
- export declare enum QueueEventReasonEnum {
935
+ declare enum QueueEventReasonEnum {
902
936
  ANSWER = 'ANSWER',
903
937
  ABANDONED = 'ABANDONED',
904
938
  EXIT = 'EXIT',
@@ -915,7 +949,7 @@ export declare interface ReconnectOptions {
915
949
  maxReconnectionDelay: number;
916
950
  }
917
951
 
918
- export declare type Recording = {
952
+ declare type Recording = {
919
953
  /**
920
954
  * Is muted
921
955
  */
@@ -936,10 +970,6 @@ export declare type Recording = {
936
970
 
937
971
  export declare type removeRoomListener = (value: string) => void
938
972
 
939
- declare type Response_2 = {
940
- };
941
- export { Response_2 as Response }
942
-
943
973
  export declare type RoomDeletedListener = (roomId: number) => void
944
974
 
945
975
  export declare interface Server {
@@ -949,6 +979,30 @@ export declare interface Server {
949
979
  Version: string;
950
980
  }
951
981
 
982
+ export declare type ServerEmitEventCallbackRegistry = {
983
+ [K in ServerEmitEventTypeNames]: (data: ServerEmitEventDataMap[K]) => void
984
+ }
985
+
986
+ /**
987
+ * Mapping of event names to their respective data structures.
988
+ * The data structures that we can send to the server
989
+ */
990
+ export declare interface ServerEmitEventDataMap {
991
+ [ServerListenerEventsEnum.UPDATE_MONITORED_EXTENSIONS]: UpdateMonitoredExtensionsPayload
992
+ [ServerListenerEventsEnum.KEEP_ALIVE]: string
993
+ }
994
+
995
+ /**
996
+ * Represents the set of all possible event type names as keys from the ServerEmitEventDataMap.
997
+ * This type is used to define event emitters and data.
998
+ */
999
+ export declare type ServerEmitEventTypeNames = keyof ServerEmitEventDataMap
1000
+
1001
+ export declare enum ServerListenerEventsEnum {
1002
+ UPDATE_MONITORED_EXTENSIONS = "updateMonitoredExtensions",
1003
+ KEEP_ALIVE = "keepAlive"
1004
+ }
1005
+
952
1006
  export declare enum ServerParameter {
953
1007
  MAIN = "main",
954
1008
  NEXT = "next"
@@ -992,19 +1046,27 @@ declare class SocketIoClass {
992
1046
  private connected;
993
1047
  getSocketIoFunction(Client: string): void;
994
1048
  initSocketConnection(): void;
995
- initSocketEvents(): void;
996
1049
  clearKeepAliveInterval(): void;
997
1050
  initKeepAlive(): void;
998
1051
  closeAllConnections(): void;
1052
+ initSocketEvents(): void;
1053
+ private onLoginSuccessEvent;
1054
+ private onQueueEvent;
1055
+ private onExtensionEvent;
1056
+ private onDialerEvent;
1057
+ private onLoginStatusEvent;
1058
+ private onAllExtensionStatus;
1059
+ private onAllDialerStatus;
999
1060
  private onKeepAliveResponse;
1061
+ private onExtensionsUpdatedEvent;
1000
1062
  private onConnect;
1001
1063
  private onDisconnect;
1002
1064
  private onConnectError;
1003
1065
  }
1004
1066
 
1005
- export declare type SocketTyped = Socket_2<EventCallbackRegistry, Record<EventsEnum, any>>
1067
+ export declare type SocketTyped = Socket_2<EventCallbackRegistry, ServerEmitEventCallbackRegistry>
1006
1068
 
1007
- export declare type Summery = {
1069
+ declare type Summery = {
1008
1070
  /**
1009
1071
  * Representative
1010
1072
  */
@@ -1015,9 +1077,13 @@ export declare type TestEventListener = (event: { test: string }) => void
1015
1077
 
1016
1078
  declare type TypedSocketIo = (...args: Parameters<typeof io>) => SocketTyped;
1017
1079
 
1080
+ export declare interface UpdateMonitoredExtensionsPayload {
1081
+ extensionsString: string
1082
+ }
1083
+
1018
1084
  export declare type updateRoomListener = (value: string) => void
1019
1085
 
1020
- export declare type User = {
1086
+ declare type User = {
1021
1087
  /**
1022
1088
  * User id
1023
1089
  */