@voicenter-team/events-sdk 0.0.25 → 0.0.26

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.
@@ -12,6 +12,7 @@
12
12
  "dotenv": "^16.3.1"
13
13
  },
14
14
  "devDependencies": {
15
+ "@voicenter-team/real-time-events-types": "^0.0.6",
15
16
  "@vuepress/plugin-register-components": "^2.0.0-beta.62",
16
17
  "typedoc": "^0.24.8",
17
18
  "typedoc-plugin-markdown": "^3.15.3",
@@ -702,6 +703,12 @@
702
703
  "vue": "^3.2.25"
703
704
  }
704
705
  },
706
+ "node_modules/@voicenter-team/real-time-events-types": {
707
+ "version": "0.0.6",
708
+ "resolved": "https://registry.npmjs.org/@voicenter-team/real-time-events-types/-/real-time-events-types-0.0.6.tgz",
709
+ "integrity": "sha512-BLPnYwMVraWMUPH8HXEL/xwUT3mLBDNygb5/SvKdWHvmynHngRvzNjw4cb2DJa0tgcOGFIIXnVKI5W4C7PrC5w==",
710
+ "dev": true
711
+ },
705
712
  "node_modules/@vue/compiler-core": {
706
713
  "version": "3.3.4",
707
714
  "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.3.4.tgz",
package/docs/package.json CHANGED
@@ -17,7 +17,8 @@
17
17
  "typedoc": "^0.24.8",
18
18
  "typedoc-plugin-markdown": "^3.15.3",
19
19
  "vuepress": "^2.0.0-beta.62",
20
- "vuepress-plugin-typedoc": "^0.12.1"
20
+ "vuepress-plugin-typedoc": "^0.12.1",
21
+ "@voicenter-team/real-time-events-types": "^0.0.6"
21
22
  },
22
23
  "dependencies": {
23
24
  "dotenv": "^16.3.1"
@@ -42,7 +42,7 @@
42
42
  <script lang="ts" setup>
43
43
  import {reactive, ref} from 'vue'
44
44
  import EventsSdkClass from '@/index'
45
- import {EventsEnum} from '@/enum/events.enum'
45
+ import {EventsEnum} from '@voicenter-team/real-time-events-types'
46
46
  import {EventTypeData} from '@/types/events'
47
47
  import {LoginType} from "@/enum/auth.enum";
48
48
 
@@ -54,7 +54,7 @@ const token = ref('')
54
54
  const loading = ref(false)
55
55
  const loggedId = ref(false)
56
56
  const events = reactive<{ [K in EventsEnum]?: Array<EventTypeData<K>> }>({})
57
-
57
+ let eventsdk
58
58
  /* Methods */
59
59
  async function login() {
60
60
  if (!token.value) {
@@ -76,6 +76,8 @@ async function login() {
76
76
 
77
77
  await sdk.init()
78
78
 
79
+ eventsdk = sdk
80
+
79
81
  sdk.on(
80
82
  EventsEnum.ALL_DIALER_STATUS,
81
83
  ({ data }) => {
@@ -202,6 +204,9 @@ async function login() {
202
204
  case EventsEnum.LOGIN_STATUS:
203
205
  console.log(`FROM ALL ${EventsEnum.LOGIN_STATUS}`, data)
204
206
  break
207
+ case EventsEnum.EXTENSIONS_UPDATED:
208
+ console.log(`FROM ALL ${EventsEnum.EXTENSIONS_UPDATED}`, data)
209
+ break
205
210
  case EventsEnum.ONLINE_STATUS_EVENT:
206
211
  console.log(`FROM ALL ${EventsEnum.ONLINE_STATUS_EVENT}`, data)
207
212
  break
@@ -214,6 +219,7 @@ async function login() {
214
219
 
215
220
  setTimeout(
216
221
  () => {
222
+ eventsdk.emit('updateMonitoredExtensions', {extensionsString: '104082, 105703, 113921, 128288'})
217
223
  if (!loggedId.value) {
218
224
  loading.value = false
219
225
  alert('Login failed')
@@ -0,0 +1,64 @@
1
+ // src/.vuepress/config.js
2
+ import { defineUserConfig, defaultTheme } from "vuepress";
3
+
4
+ // package.json
5
+ var description = "";
6
+
7
+ // src/.vuepress/config.js
8
+ import { registerComponentsPlugin } from "@vuepress/plugin-register-components";
9
+ import { getDirname, path } from "@vuepress/utils";
10
+ import { typedocPlugin } from "vuepress-plugin-typedoc/next";
11
+ import * as dotenv from "dotenv";
12
+ var __vite_injected_original_import_meta_url = "file:///home/dev/Voicenter/VoicenterEventsSDK/docs/src/.vuepress/config.js";
13
+ dotenv.config();
14
+ var __dirname = getDirname(__vite_injected_original_import_meta_url);
15
+ var config_default = defineUserConfig({
16
+ description,
17
+ head: [
18
+ ["link", { rel: "icon", href: "/favicon.ico" }],
19
+ ["meta", { name: "theme-color", content: "#2675FF" }],
20
+ ["meta", { name: "apple-mobile-web-app-capable", content: "yes" }],
21
+ ["meta", { name: "apple-mobile-web-app-status-bar-style", content: "#2675FF" }]
22
+ ],
23
+ theme: defaultTheme({
24
+ repo: "",
25
+ editLinks: false,
26
+ logo: "/images/logo.png",
27
+ docsDir: "",
28
+ editLinkText: "",
29
+ colorMode: "light",
30
+ lastUpdated: false,
31
+ sidebar: [
32
+ {
33
+ text: "General",
34
+ link: "/",
35
+ collapsible: false,
36
+ children: [
37
+ "demo",
38
+ {
39
+ text: "API",
40
+ link: "api",
41
+ rel: "api"
42
+ }
43
+ ]
44
+ }
45
+ ]
46
+ }),
47
+ plugins: [
48
+ registerComponentsPlugin({
49
+ componentsDir: path.resolve(__dirname, "./components")
50
+ })
51
+ // typedocPlugin({
52
+ // entryPoints: ['../src/types/public-api.d.ts'],
53
+ // tsconfig: '../tsconfig.json'
54
+ // })
55
+ ],
56
+ alias: {
57
+ "@": path.resolve(__dirname, "../", "../", "../", "src"),
58
+ "root": path.resolve(__dirname, "../", "../", "../")
59
+ }
60
+ });
61
+ export {
62
+ config_default as default
63
+ };
64
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsic3JjLy52dWVwcmVzcy9jb25maWcuanMiLCAicGFja2FnZS5qc29uIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfZGlybmFtZSA9IFwiL2hvbWUvZGV2L1ZvaWNlbnRlci9Wb2ljZW50ZXJFdmVudHNTREsvZG9jcy9zcmMvLnZ1ZXByZXNzXCI7Y29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2ZpbGVuYW1lID0gXCIvaG9tZS9kZXYvVm9pY2VudGVyL1ZvaWNlbnRlckV2ZW50c1NESy9kb2NzL3NyYy8udnVlcHJlc3MvY29uZmlnLmpzXCI7Y29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2ltcG9ydF9tZXRhX3VybCA9IFwiZmlsZTovLy9ob21lL2Rldi9Wb2ljZW50ZXIvVm9pY2VudGVyRXZlbnRzU0RLL2RvY3Mvc3JjLy52dWVwcmVzcy9jb25maWcuanNcIjtpbXBvcnQgeyBkZWZpbmVVc2VyQ29uZmlnLCBkZWZhdWx0VGhlbWUgfSBmcm9tICd2dWVwcmVzcydcbmltcG9ydCB7IGRlc2NyaXB0aW9uIH0gZnJvbSAnLi4vLi4vcGFja2FnZSdcbmltcG9ydCB7IHJlZ2lzdGVyQ29tcG9uZW50c1BsdWdpbiB9IGZyb20gJ0B2dWVwcmVzcy9wbHVnaW4tcmVnaXN0ZXItY29tcG9uZW50cydcbmltcG9ydCB7IGdldERpcm5hbWUsIHBhdGggfSBmcm9tICdAdnVlcHJlc3MvdXRpbHMnXG5pbXBvcnQgeyB0eXBlZG9jUGx1Z2luIH0gZnJvbSAndnVlcHJlc3MtcGx1Z2luLXR5cGVkb2MvbmV4dCc7XG5pbXBvcnQgKiBhcyBkb3RlbnYgZnJvbSAnZG90ZW52J1xuZG90ZW52LmNvbmZpZygpXG5cbmNvbnN0IF9fZGlybmFtZSA9IGdldERpcm5hbWUoaW1wb3J0Lm1ldGEudXJsKVxuXG5leHBvcnQgZGVmYXVsdCBkZWZpbmVVc2VyQ29uZmlnKHtcbiAgICBkZXNjcmlwdGlvbjogZGVzY3JpcHRpb24sXG5cbiAgICBoZWFkOiBbXG4gICAgICAgIFsnbGluaycsIHtyZWw6ICdpY29uJywgaHJlZjogJy9mYXZpY29uLmljbyd9XSxcbiAgICAgICAgWydtZXRhJywge25hbWU6ICd0aGVtZS1jb2xvcicsIGNvbnRlbnQ6ICcjMjY3NUZGJ31dLFxuICAgICAgICBbJ21ldGEnLCB7bmFtZTogJ2FwcGxlLW1vYmlsZS13ZWItYXBwLWNhcGFibGUnLCBjb250ZW50OiAneWVzJ31dLFxuICAgICAgICBbJ21ldGEnLCB7bmFtZTogJ2FwcGxlLW1vYmlsZS13ZWItYXBwLXN0YXR1cy1iYXItc3R5bGUnLCBjb250ZW50OiAnIzI2NzVGRid9XVxuICAgIF0sXG5cbiAgICB0aGVtZTogZGVmYXVsdFRoZW1lKHtcbiAgICAgICAgcmVwbzogJycsXG4gICAgICAgIGVkaXRMaW5rczogZmFsc2UsXG4gICAgICAgIGxvZ286ICcvaW1hZ2VzL2xvZ28ucG5nJyxcbiAgICAgICAgZG9jc0RpcjogJycsXG4gICAgICAgIGVkaXRMaW5rVGV4dDogJycsXG4gICAgICAgIGNvbG9yTW9kZTogJ2xpZ2h0JyxcbiAgICAgICAgbGFzdFVwZGF0ZWQ6IGZhbHNlLFxuICAgICAgICBzaWRlYmFyOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgdGV4dDogJ0dlbmVyYWwnLFxuICAgICAgICAgICAgICAgIGxpbms6ICcvJyxcbiAgICAgICAgICAgICAgICBjb2xsYXBzaWJsZTogZmFsc2UsXG4gICAgICAgICAgICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgICAgICAgICAgICAgJ2RlbW8nLFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0OiAnQVBJJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbms6ICdhcGknLFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVsOiAnYXBpJ1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgfVxuICAgICAgICBdXG4gICAgfSksXG5cbiAgICBwbHVnaW5zOiBbXG4gICAgICAgIHJlZ2lzdGVyQ29tcG9uZW50c1BsdWdpbih7XG4gICAgICAgICAgICBjb21wb25lbnRzRGlyOiBwYXRoLnJlc29sdmUoX19kaXJuYW1lLCAnLi9jb21wb25lbnRzJylcbiAgICAgICAgfSksXG4gICAgICAgIC8vIHR5cGVkb2NQbHVnaW4oe1xuICAgICAgICAvLyAgICAgZW50cnlQb2ludHM6IFsnLi4vc3JjL3R5cGVzL3B1YmxpYy1hcGkuZC50cyddLFxuICAgICAgICAvLyAgICAgdHNjb25maWc6ICcuLi90c2NvbmZpZy5qc29uJ1xuICAgICAgICAvLyB9KVxuICAgIF0sXG5cbiAgICBhbGlhczoge1xuICAgICAgICAnQCc6IHBhdGgucmVzb2x2ZShfX2Rpcm5hbWUsICcuLi8nLCAnLi4vJywgJy4uLycsICdzcmMnKSxcbiAgICAgICAgJ3Jvb3QnOiBwYXRoLnJlc29sdmUoX19kaXJuYW1lLCAnLi4vJywgJy4uLycsICcuLi8nKSxcbiAgICB9XG59KVxuIiwgIntcbiAgXCJuYW1lXCI6IFwidm9pY25ldGVyLWV2ZW50cy1zZGtcIixcbiAgXCJ2ZXJzaW9uXCI6IFwiMC4wLjFcIixcbiAgXCJkZXNjcmlwdGlvblwiOiBcIlwiLFxuICBcIm1haW5cIjogXCJpbmRleC5qc1wiLFxuICBcImF1dGhvcnNcIjoge1xuICAgIFwibmFtZVwiOiBcIlwiLFxuICAgIFwiZW1haWxcIjogXCJib2hkYW4ua29Adm9pY2VudGVyLmNvbVwiXG4gIH0sXG4gIFwic2NyaXB0c1wiOiB7XG4gICAgXCJkZXZcIjogXCJ2dWVwcmVzcyBkZXYgc3JjXCIsXG4gICAgXCJidWlsZFwiOiBcInZ1ZXByZXNzIGJ1aWxkIHNyY1wiXG4gIH0sXG4gIFwibGljZW5zZVwiOiBcIk1JVFwiLFxuICBcImRldkRlcGVuZGVuY2llc1wiOiB7XG4gICAgXCJAdnVlcHJlc3MvcGx1Z2luLXJlZ2lzdGVyLWNvbXBvbmVudHNcIjogXCJeMi4wLjAtYmV0YS42MlwiLFxuICAgIFwidHlwZWRvY1wiOiBcIl4wLjI0LjhcIixcbiAgICBcInR5cGVkb2MtcGx1Z2luLW1hcmtkb3duXCI6IFwiXjMuMTUuM1wiLFxuICAgIFwidnVlcHJlc3NcIjogXCJeMi4wLjAtYmV0YS42MlwiLFxuICAgIFwidnVlcHJlc3MtcGx1Z2luLXR5cGVkb2NcIjogXCJeMC4xMi4xXCIsXG4gICAgXCJAdm9pY2VudGVyLXRlYW0vcmVhbC10aW1lLWV2ZW50cy10eXBlc1wiOiBcIl4wLjAuNlwiXG4gIH0sXG4gIFwiZGVwZW5kZW5jaWVzXCI6IHtcbiAgICBcImRvdGVudlwiOiBcIl4xNi4zLjFcIlxuICB9XG59XG4iXSwKICAibWFwcGluZ3MiOiAiO0FBQW1WLFNBQVMsa0JBQWtCLG9CQUFvQjs7O0FDR2hZLGtCQUFlOzs7QUREakIsU0FBUyxnQ0FBZ0M7QUFDekMsU0FBUyxZQUFZLFlBQVk7QUFDakMsU0FBUyxxQkFBcUI7QUFDOUIsWUFBWSxZQUFZO0FBTDZMLElBQU0sMkNBQTJDO0FBTS9QLGNBQU87QUFFZCxJQUFNLFlBQVksV0FBVyx3Q0FBZTtBQUU1QyxJQUFPLGlCQUFRLGlCQUFpQjtBQUFBLEVBQzVCO0FBQUEsRUFFQSxNQUFNO0FBQUEsSUFDRixDQUFDLFFBQVEsRUFBQyxLQUFLLFFBQVEsTUFBTSxlQUFjLENBQUM7QUFBQSxJQUM1QyxDQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsU0FBUyxVQUFTLENBQUM7QUFBQSxJQUNsRCxDQUFDLFFBQVEsRUFBQyxNQUFNLGdDQUFnQyxTQUFTLE1BQUssQ0FBQztBQUFBLElBQy9ELENBQUMsUUFBUSxFQUFDLE1BQU0seUNBQXlDLFNBQVMsVUFBUyxDQUFDO0FBQUEsRUFDaEY7QUFBQSxFQUVBLE9BQU8sYUFBYTtBQUFBLElBQ2hCLE1BQU07QUFBQSxJQUNOLFdBQVc7QUFBQSxJQUNYLE1BQU07QUFBQSxJQUNOLFNBQVM7QUFBQSxJQUNULGNBQWM7QUFBQSxJQUNkLFdBQVc7QUFBQSxJQUNYLGFBQWE7QUFBQSxJQUNiLFNBQVM7QUFBQSxNQUNMO0FBQUEsUUFDSSxNQUFNO0FBQUEsUUFDTixNQUFNO0FBQUEsUUFDTixhQUFhO0FBQUEsUUFDYixVQUFVO0FBQUEsVUFDTjtBQUFBLFVBQ0E7QUFBQSxZQUNJLE1BQU07QUFBQSxZQUNOLE1BQU07QUFBQSxZQUNOLEtBQUs7QUFBQSxVQUNUO0FBQUEsUUFDSjtBQUFBLE1BQ0o7QUFBQSxJQUNKO0FBQUEsRUFDSixDQUFDO0FBQUEsRUFFRCxTQUFTO0FBQUEsSUFDTCx5QkFBeUI7QUFBQSxNQUNyQixlQUFlLEtBQUssUUFBUSxXQUFXLGNBQWM7QUFBQSxJQUN6RCxDQUFDO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQUtMO0FBQUEsRUFFQSxPQUFPO0FBQUEsSUFDSCxLQUFLLEtBQUssUUFBUSxXQUFXLE9BQU8sT0FBTyxPQUFPLEtBQUs7QUFBQSxJQUN2RCxRQUFRLEtBQUssUUFBUSxXQUFXLE9BQU8sT0FBTyxLQUFLO0FBQUEsRUFDdkQ7QUFDSixDQUFDOyIsCiAgIm5hbWVzIjogW10KfQo=
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@voicenter-team/events-sdk",
3
- "version": "0.0.25",
3
+ "version": "0.0.26",
4
4
  "description": "",
5
5
  "main": "dist/voicenter-events-sdk.cjs.js",
6
6
  "jsdelivr": "dist/voicenter-events-sdk.umd.js",
@@ -34,6 +34,7 @@
34
34
  "@typescript-eslint/eslint-plugin": "6.20.0",
35
35
  "@typescript-eslint/parser": "6.20.0",
36
36
  "@voicenter-team/eslint-config-ts": "^1.0.22",
37
+ "@voicenter-team/real-time-events-types": "^0.0.6",
37
38
  "dotenv": "16.4.1",
38
39
  "eslint": "8.56.0",
39
40
  "eslint-plugin-jest": "27.6.3",
@@ -5,7 +5,7 @@ import {
5
5
  EventTypeNames,
6
6
  GenericEventWrapper
7
7
  } from '@/types/events'
8
- import { EventsEnum } from '@/enum/events.enum'
8
+ import { EventsEnum } from '@voicenter-team/real-time-events-types'
9
9
  import EventsSdkClass from '@/classes/events-sdk/events-sdk.class'
10
10
 
11
11
  export class EventEmitterClass{
@@ -19,7 +19,8 @@ export class EventEmitterClass{
19
19
  [EventsEnum.LOGIN_SUCCESS]: [],
20
20
  [EventsEnum.LOGIN_STATUS]: [],
21
21
  [EventsEnum.KEEP_ALIVE_RESPONSE]: [],
22
- [EventsEnum.ONLINE_STATUS_EVENT]: []
22
+ [EventsEnum.ONLINE_STATUS_EVENT]: [],
23
+ [EventsEnum.EXTENSIONS_UPDATED]: []
23
24
  }
24
25
  private allListeners: Array<(data: GenericEventWrapper) => void> = []
25
26
 
@@ -9,7 +9,7 @@ import {
9
9
  EventTypeNames,
10
10
  GenericEventWrapper,
11
11
  } from '@/types/events'
12
- import { EventsEnum } from '@/enum/events.enum'
12
+ import { EventsEnum } from '@voicenter-team/real-time-events-types'
13
13
  import { LoggerClass } from '@/classes/logger/logger.class'
14
14
  import { EventEmitterClass } from '@/classes/event-emitter/event-emitter.class'
15
15
 
@@ -1,7 +1,7 @@
1
1
  import { Socket } from 'socket.io-client'
2
2
  import EventsSdkClass from '@/classes/events-sdk/events-sdk.class'
3
3
  import { LoggerTypeEnum } from '@/enum/logger.enum'
4
- import { EventsEnum } from '@/enum/events.enum'
4
+ import { EventsEnum } from '@voicenter-team/real-time-events-types'
5
5
  import StorageLogger from '@voicenter-team/socketio-storage-logger'
6
6
 
7
7
  export class LoggerClass{
@@ -3,8 +3,7 @@ import EventsSdkClass from '@/classes/events-sdk/events-sdk.class'
3
3
  import sockets, { TypedSocketIo } from '@/classes/socket-io/versions'
4
4
  import { SocketTyped } from '@/types/socket'
5
5
  import { ServerParameter } from '@/classes/events-sdk/events-sdk.types'
6
- import { EventsEnum } from '@/enum/events.enum'
7
- import { KeepAliveResponseEvent } from '@/types/events'
6
+ import { EventsEnum, KeepAliveResponseEvent } from '@voicenter-team/real-time-events-types'
8
7
  import { StorageClass } from '@/classes/storage/storage.class'
9
8
  import { LoggerTypeEnum } from '@/enum/logger.enum'
10
9
  // import { LoggerTypeEnum } from '@/enum/logger.enum'
@@ -99,6 +98,9 @@ export class SocketIoClass{
99
98
  .on(EventsEnum.CONNECT, () => this.onConnect())
100
99
  .on(EventsEnum.DISCONNECT, (data) => this.onDisconnect(data))
101
100
  .on(EventsEnum.CONNECT_ERROR_EVENT, (data) => this.onConnectError(data))
101
+ .on(EventsEnum.EXTENSIONS_UPDATED, (data) => {
102
+ this.eventsSdkClass.eventEmitterClass.emit(EventsEnum.EXTENSIONS_UPDATED, data)
103
+ })
102
104
  }
103
105
  }
104
106
 
@@ -1,29 +1,3 @@
1
- /**
2
- * All events that can be received from the server.
3
- */
4
- export enum EventsEnum {
5
- ALL_DIALER_STATUS = 'AllDialersStatus',
6
- ALL_EXTENSION_STATUS = 'AllExtensionsStatus',
7
- ALL_USERS_STATUS = 'AllUsersStatus',
8
- CONNECT = 'connect',
9
- DISCONNECT = 'disconnect',
10
- CONNECT_ERROR_EVENT = 'connect_error',
11
- EXTENSION_EVENT = 'ExtensionEvent',
12
- KEEP_ALIVE = 'keepalive',
13
- KEEP_ALIVE_RESPONSE = 'keepaliveResponse',
14
- // This type of event will be sent only in case of a successful connection.
15
- // The event describes the list of monitored queues on this active connection.
16
- // The list of monitored queues will only be sent if the login connection was made with account credentials or account token.
17
- // If the login connection type is by user credentials, only the user’s extension assigned queues will return.
18
- LOGIN_STATUS = 'loginStatus',
19
- // This type of event will be sent in the initial login connection request in case of a successful connection only.
20
- // In case of wrong username or password or token, you will receive a 401 (“Unauthorized”) or 500 (“Unexpected token”) http error.
21
- LOGIN_SUCCESS = 'loginSuccess',
22
- QUEUE_EVENT = 'QueueEvent',
23
- ONLINE_STATUS_EVENT = 'onlineStatusEvent',
24
- DIALER_EVENT = 'DialerEvent',
25
- }
26
-
27
1
  /**
28
2
  * All the reasons for the extension event, e.g. a new call is ringing or dialing from an extension.
29
3
  */
@@ -1,100 +1,15 @@
1
- import { EventNameEnum, EventsEnum, ExtensionEventReasonEnum, ExtensionHangupCauseEnum, QueueEventReasonEnum } from '@/enum/events.enum'
2
- import { Queue, Extension, Dialer, User } from '@/types/events.common'
3
-
4
- /**
5
- * Base structure for all event types, containing common properties.
6
- */
7
- interface CommonEventProperties {
8
- // Error code, 0 indicates no error
9
- errorCode?: number
10
- // Description of the error, "Ok" indicates successful connection
11
- errorDesc?: string
12
- // Server time at the moment of the event
13
- serverTime: number
14
- // Difference in time between server and client
15
- serverTimeOffset: number
16
- }
17
-
18
- // Inherits properties from CommonEventProperties
19
- type LoginSuccessEvent = CommonEventProperties
20
-
21
- /**
22
- * Data structure for login status event.
23
- */
24
- export interface LoginStatusEvent extends CommonEventProperties {
25
- // Array of Queue objects
26
- queues: Queue[]
27
- }
28
-
29
- /**
30
- * Data structure for all extension status event.
31
- */
32
- export interface AllExtensionStatusEvent extends CommonEventProperties {
33
- // Array of Extension objects
34
- extensions: Extension[]
35
- }
36
-
37
- /**
38
- * Data structure for all dialers status event.
39
- */
40
- export interface AllDialersStatusEvent extends CommonEventProperties {
41
- // Array of Dialer objects
42
- dialers: Dialer[]
43
- }
44
-
45
- /**
46
- * Data structure for all users status event.
47
- */
48
- export interface AllUsersStatusEvent extends CommonEventProperties {
49
- // Array of User objects
50
- users: User[]
51
- }
52
-
53
- /**
54
- * Data structure for queue event.
55
- */
56
- export interface QueueEvent extends CommonEventProperties {
57
- eventName: EventNameEnum.QUEUE,
58
- reason: QueueEventReasonEnum,
59
- telephonyServerTime: number,
60
- ivrUniqueId: string,
61
- data: Queue
62
- }
63
-
64
- /**
65
- * Data structure for extension event.
66
- */
67
- export interface ExtensionEvent extends CommonEventProperties {
68
- data: Extension
69
- eventName: EventNameEnum.EXTENSION
70
- reason: ExtensionEventReasonEnum
71
- telephonyServerTime?: number
72
- callerID?: string
73
- ivrUniqueId?: string
74
- dialStatus?: string
75
- cause?: ExtensionHangupCauseEnum
76
- }
77
-
78
- /**
79
- * Data structure for dialer event.
80
- */
81
- export interface DialerEvent extends CommonEventProperties {
82
- data: Dialer
83
- eventName: EventNameEnum.DIALER
84
- //reason: ExtensionEventReasonEnum // TODO: do research for dialer 'reason' prop
85
- telephonyServerTime?: number
86
- callerID?: string
87
- ivrUniqueId?: string
88
- dialStatus?: string
89
- //cause?: ExtensionHangupCauseEnum // TODO: do research for dialer 'cause' prop
90
- }
91
-
92
- /**
93
- * Data structure for keep alive response event.
94
- */
95
- export interface KeepAliveResponseEvent extends CommonEventProperties {
96
- isOk: boolean
97
- }
1
+ import {
2
+ EventsEnum,
3
+ LoginSuccessEvent,
4
+ LoginStatusEvent,
5
+ AllExtensionStatusEvent,
6
+ AllDialersStatusEvent,
7
+ AllUsersStatusEvent,
8
+ QueueEvent,
9
+ ExtensionEvent,
10
+ KeepAliveResponseEvent,
11
+ DialerEvent
12
+ } from '@voicenter-team/real-time-events-types'
98
13
 
99
14
  export interface OnlineStatusEvent {
100
15
  isSocketConnected: boolean
@@ -115,6 +30,7 @@ export interface EventDataMap {
115
30
  [EventsEnum.LOGIN_STATUS]: LoginStatusEvent
116
31
  [EventsEnum.KEEP_ALIVE_RESPONSE]: KeepAliveResponseEvent
117
32
  [EventsEnum.ONLINE_STATUS_EVENT]: OnlineStatusEvent
33
+ [EventsEnum.EXTENSIONS_UPDATED]: string
118
34
  }
119
35
 
120
36
  /**
@@ -1,5 +1,5 @@
1
1
  import { Socket } from 'socket.io-client'
2
2
  import { EventCallbackRegistry } from '@/types/events'
3
- import { EventsEnum } from '@/enum/events.enum'
3
+ import { EventsEnum } from '@voicenter-team/real-time-events-types'
4
4
 
5
5
  export type SocketTyped = Socket<EventCallbackRegistry, Record<EventsEnum, any>>