@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.
- package/dist/voicenter-events-sdk.cjs.js +10 -10
- package/dist/voicenter-events-sdk.cjs.js.map +1 -1
- package/dist/voicenter-events-sdk.d.ts +11 -114
- package/dist/voicenter-events-sdk.es.js +764 -761
- package/dist/voicenter-events-sdk.es.js.map +1 -1
- package/dist/voicenter-events-sdk.iife.js +13 -13
- package/dist/voicenter-events-sdk.iife.js.map +1 -1
- package/dist/voicenter-events-sdk.umd.js +12 -12
- package/dist/voicenter-events-sdk.umd.js.map +1 -1
- package/docs/package-lock.json +7 -0
- package/docs/package.json +2 -1
- package/docs/src/.vuepress/components/Demo.vue +8 -2
- package/docs/src/.vuepress/config.js.7b0e7894.mjs +64 -0
- package/package.json +2 -1
- package/src/classes/event-emitter/event-emitter.class.ts +3 -2
- package/src/classes/events-sdk/events-sdk.class.ts +1 -1
- package/src/classes/logger/logger.class.ts +1 -1
- package/src/classes/socket-io/socket-io.class.ts +4 -2
- package/src/enum/events.enum.ts +0 -26
- package/src/types/events.d.ts +13 -97
- package/src/types/socket.d.ts +1 -1
package/docs/package-lock.json
CHANGED
|
@@ -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 '
|
|
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.
|
|
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 '
|
|
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 '
|
|
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 '
|
|
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 '
|
|
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
|
|
package/src/enum/events.enum.ts
CHANGED
|
@@ -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
|
*/
|
package/src/types/events.d.ts
CHANGED
|
@@ -1,100 +1,15 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
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
|
/**
|
package/src/types/socket.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Socket } from 'socket.io-client'
|
|
2
2
|
import { EventCallbackRegistry } from '@/types/events'
|
|
3
|
-
import { EventsEnum } from '
|
|
3
|
+
import { EventsEnum } from '@voicenter-team/real-time-events-types'
|
|
4
4
|
|
|
5
5
|
export type SocketTyped = Socket<EventCallbackRegistry, Record<EventsEnum, any>>
|