@voicenter-team/events-sdk 0.0.12 → 0.0.14
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/.eslintrc.cjs +17 -0
- package/.github/workflows/main.yml +16 -0
- package/.idea/VoicenterEventsSDK.iml +12 -0
- package/.idea/git_toolbox_prj.xml +15 -0
- package/.idea/inspectionProfiles/Project_Default.xml +6 -0
- package/.idea/jsLibraryMappings.xml +6 -0
- package/.idea/jsLinters/eslint.xml +7 -0
- package/.idea/modules.xml +8 -0
- package/.idea/vcs.xml +6 -0
- package/.nvmrc +1 -0
- package/TODELETE_TEMP/events.json +69122 -0
- package/TODELETE_TEMP/temphelper.cjs +101 -0
- package/dist/index.d.ts +689 -11
- package/dist/voicenter-events-sdk.cjs.js +10 -10
- package/dist/voicenter-events-sdk.cjs.js.map +1 -1
- package/dist/voicenter-events-sdk.es.js +1856 -1818
- package/dist/voicenter-events-sdk.es.js.map +1 -1
- package/dist/voicenter-events-sdk.iife.js +17 -17
- package/dist/voicenter-events-sdk.iife.js.map +1 -1
- package/dist/voicenter-events-sdk.umd.js +16 -16
- package/dist/voicenter-events-sdk.umd.js.map +1 -1
- package/docs/package-lock.json +3820 -0
- package/docs/package.json +25 -0
- package/docs/src/.vuepress/client.js +8 -0
- package/docs/src/.vuepress/components/Demo.vue +191 -0
- package/docs/src/.vuepress/config.js +60 -0
- package/docs/src/.vuepress/public/favicon.ico +0 -0
- package/docs/src/.vuepress/public/images/logo.png +0 -0
- package/docs/src/.vuepress/styles/index.scss +0 -0
- package/docs/src/.vuepress/styles/index.styl +8 -0
- package/docs/src/.vuepress/styles/palette.styl +10 -0
- package/docs/src/demo.md +7 -0
- package/docs/src/index.md +4 -0
- package/interface.ts +261 -0
- package/jest.config.js +11 -0
- package/package.json +1 -4
- package/src/classes/auth/auth.class.ts +272 -0
- package/src/classes/auth/auth.urls.ts +8 -0
- package/src/classes/events-sdk/events-sdk-default-options.ts +60 -0
- package/src/classes/events-sdk/events-sdk.class.ts +250 -0
- package/src/classes/events-sdk/events-sdk.test.ts +9 -0
- package/src/classes/events-sdk/events-sdk.types.ts +71 -0
- package/src/classes/socket-io/socket-io.class.ts +172 -0
- package/src/classes/socket-io/versions/index.ts +52 -0
- package/src/classes/socket-io/versions/v1_3_7.js +2083 -0
- package/src/classes/storage/storage.class.ts +43 -0
- package/src/enum/auth.enum.ts +4 -0
- package/src/enum/events.enum.ts +98 -0
- package/src/index.ts +15 -0
- package/{dist → src}/types/auth.d.ts +12 -8
- package/{dist → src}/types/events.common.d.ts +1 -1
- package/{dist → src}/types/events.d.ts +1 -1
- package/{dist → src}/types/socket.d.ts +1 -1
- package/swagger/generated/Swagger.json +1 -0
- package/swagger/index.js +60 -0
- package/swagger/package.json +21 -0
- package/swagger/scripts/update-swagger-json.js +53 -0
- package/swagger/yarn.lock +2100 -0
- package/tsconfig.json +47 -0
- package/vite.config.ts +45 -0
- package/dist/classes/auth/auth.class.d.ts +0 -20
- package/dist/classes/auth/auth.urls.d.ts +0 -4
- package/dist/classes/events-sdk/events-sdk-default-options.d.ts +0 -2
- package/dist/classes/events-sdk/events-sdk.class.d.ts +0 -35
- package/dist/classes/events-sdk/events-sdk.test.d.ts +0 -1
- package/dist/classes/events-sdk/events-sdk.types.d.ts +0 -63
- package/dist/classes/socket-io/socket-io.class.d.ts +0 -23
- package/dist/classes/socket-io/versions/index.d.ts +0 -8
- package/dist/classes/storage/storage.class.d.ts +0 -6
- package/dist/enum/auth.enum.d.ts +0 -4
- package/dist/enum/events.enum.d.ts +0 -77
- /package/{dist → src}/classes/socket-io/socket-io.d.ts +0 -0
- /package/{dist → src}/types/listeners.d.ts +0 -0
- /package/{dist → src}/types/public-api.d.ts +0 -0
package/tsconfig.json
ADDED
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
{
|
|
2
|
+
"include": [
|
|
3
|
+
"src/**/*",
|
|
4
|
+
"src/**/*.d.ts",
|
|
5
|
+
"docs/**/*",
|
|
6
|
+
],
|
|
7
|
+
"exclude": ["public/**/*", "node_modules"],
|
|
8
|
+
"compilerOptions": {
|
|
9
|
+
"target": "ES2022" /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019' or 'ESNEXT'. */,
|
|
10
|
+
"module": "ESNext" /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', or 'ESNext'. */,
|
|
11
|
+
"moduleResolution": "Node",
|
|
12
|
+
"resolveJsonModule": true,
|
|
13
|
+
"lib": [
|
|
14
|
+
"dom",
|
|
15
|
+
"ESNext"
|
|
16
|
+
],
|
|
17
|
+
"types": [
|
|
18
|
+
"vite/client",
|
|
19
|
+
"node",
|
|
20
|
+
"jest",
|
|
21
|
+
"chrome"
|
|
22
|
+
],
|
|
23
|
+
"declaration": true, /* Generates corresponding '.d.ts' file. */
|
|
24
|
+
"esModuleInterop": true,
|
|
25
|
+
"paths": {
|
|
26
|
+
"voicenterEventsSDK/*": [
|
|
27
|
+
"./src/*"
|
|
28
|
+
],
|
|
29
|
+
"@/*": [
|
|
30
|
+
"./src/*"
|
|
31
|
+
]
|
|
32
|
+
},
|
|
33
|
+
"useDefineForClassFields": true,
|
|
34
|
+
"strict": true,
|
|
35
|
+
"jsx": "preserve",
|
|
36
|
+
"sourceMap": true,
|
|
37
|
+
"isolatedModules": true,
|
|
38
|
+
"declarationDir": "dist/types",
|
|
39
|
+
"noUnusedLocals": true,
|
|
40
|
+
"noUnusedParameters": true,
|
|
41
|
+
"importHelpers": true,
|
|
42
|
+
"experimentalDecorators": true,
|
|
43
|
+
"allowSyntheticDefaultImports": true,
|
|
44
|
+
"skipLibCheck": true,
|
|
45
|
+
"baseUrl": ".",
|
|
46
|
+
}
|
|
47
|
+
}
|
package/vite.config.ts
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { resolve } from 'path'
|
|
2
|
+
import { defineConfig, loadEnv, ConfigEnv } from 'vite'
|
|
3
|
+
import dts from 'vite-plugin-dts'
|
|
4
|
+
|
|
5
|
+
export default ({ mode }: ConfigEnv) => {
|
|
6
|
+
process.env = {
|
|
7
|
+
...process.env,
|
|
8
|
+
...loadEnv(mode, process.cwd(), '')
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
return defineConfig({
|
|
12
|
+
build: {
|
|
13
|
+
rollupOptions: {
|
|
14
|
+
output: {
|
|
15
|
+
exports: 'named'
|
|
16
|
+
}
|
|
17
|
+
},
|
|
18
|
+
outDir: 'dist',
|
|
19
|
+
sourcemap: true,
|
|
20
|
+
commonjsOptions: {
|
|
21
|
+
esmExternals: true
|
|
22
|
+
},
|
|
23
|
+
lib: {
|
|
24
|
+
entry: resolve(__dirname, 'src/index.ts'),
|
|
25
|
+
formats: [ 'es', 'cjs', 'umd', 'iife' ],
|
|
26
|
+
name: 'VoicenterEventsSDK',
|
|
27
|
+
fileName: (format) => {
|
|
28
|
+
return `voicenter-events-sdk.${format}.js`
|
|
29
|
+
},
|
|
30
|
+
}
|
|
31
|
+
},
|
|
32
|
+
plugins: [
|
|
33
|
+
dts({
|
|
34
|
+
copyDtsFiles: true,
|
|
35
|
+
rollupTypes: true,
|
|
36
|
+
})
|
|
37
|
+
],
|
|
38
|
+
resolve: {
|
|
39
|
+
alias: {
|
|
40
|
+
'@': resolve(__dirname, './src'),
|
|
41
|
+
voicenterEventsSDK: resolve(__dirname, './src'),
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
})
|
|
45
|
+
}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import EventsSdkClass from '../events-sdk/events-sdk.class';
|
|
2
|
-
import { EventsSdkOptions } from '../events-sdk/events-sdk.types';
|
|
3
|
-
declare class AuthClass {
|
|
4
|
-
private readonly eventsSdkClass;
|
|
5
|
-
constructor(eventsSdkClass: EventsSdkClass);
|
|
6
|
-
private delay;
|
|
7
|
-
lastLoginTimestamp: number | undefined;
|
|
8
|
-
token: string | undefined;
|
|
9
|
-
private storageKey;
|
|
10
|
-
login(options: EventsSdkOptions): Promise<void>;
|
|
11
|
-
updateLastLoginTimestamp(): void;
|
|
12
|
-
private checkLoginStatus;
|
|
13
|
-
private userLoginFunction;
|
|
14
|
-
private onLoginResponse;
|
|
15
|
-
handleTokenExpiry(): void;
|
|
16
|
-
private externalLogin;
|
|
17
|
-
private getSettings;
|
|
18
|
-
private refreshToken;
|
|
19
|
-
}
|
|
20
|
-
export default AuthClass;
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
declare const newLoginUrl = "https://loginapidev.voicenter.co.il/Auth/Login/Voicenter/Monitor";
|
|
2
|
-
declare const getSettingsUrl = "https://loginapidev.voicenter.co.il/Application/GetSettings";
|
|
3
|
-
declare const refreshTokenUrl = "https://loginapidev.voicenter.co.il/Auth/RefreshToken";
|
|
4
|
-
export { newLoginUrl, getSettingsUrl, refreshTokenUrl };
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import AuthClass from '../auth/auth.class';
|
|
2
|
-
import { SocketIoClass } from '../socket-io/socket-io.class';
|
|
3
|
-
import { EventsSdkOptions, ReconnectOptions, Server, ServerParameter } from './events-sdk.types';
|
|
4
|
-
import { SocketTyped } from '../../types/socket';
|
|
5
|
-
import { GenericEventWrapper, EventSpecificCallback, EventTypeData, EventTypeNames } from '../../types/events';
|
|
6
|
-
declare class EventsSdkClass {
|
|
7
|
-
constructor(options: EventsSdkOptions);
|
|
8
|
-
private argumentOptions;
|
|
9
|
-
readonly options: EventsSdkOptions;
|
|
10
|
-
servers: Server[];
|
|
11
|
-
server: Server;
|
|
12
|
-
socket: SocketTyped | undefined;
|
|
13
|
-
authClass: AuthClass;
|
|
14
|
-
socketIoClass: SocketIoClass;
|
|
15
|
-
reconnectOptions: ReconnectOptions;
|
|
16
|
-
retryConnection: import("lodash").DebouncedFuncLeading<(server?: ServerParameter, skipLogin?: boolean) => void>;
|
|
17
|
-
private listeners;
|
|
18
|
-
private allListeners;
|
|
19
|
-
on<T extends EventTypeNames>(event: T, callback: EventSpecificCallback<T>): void;
|
|
20
|
-
on(event: '*', callback: (data: GenericEventWrapper) => void): void;
|
|
21
|
-
off<T extends EventTypeNames>(event: T, callback: EventSpecificCallback<T>): void;
|
|
22
|
-
off(event: '*', callback: (data: GenericEventWrapper) => void): void;
|
|
23
|
-
emit<T extends EventTypeNames>(event: T, data: EventTypeData<T>): void;
|
|
24
|
-
connect(server?: ServerParameter, skipLogin?: boolean): void;
|
|
25
|
-
disconnect(): void;
|
|
26
|
-
clearKeepAliveInterval(): void;
|
|
27
|
-
private findCurrentServer;
|
|
28
|
-
private findNextAvailableServer;
|
|
29
|
-
private findMaxPriorityServer;
|
|
30
|
-
private findMinPriorityServer;
|
|
31
|
-
getServerWithHighestPriority(servers: Server[]): Server;
|
|
32
|
-
init(): Promise<boolean>;
|
|
33
|
-
private getServers;
|
|
34
|
-
}
|
|
35
|
-
export default EventsSdkClass;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
import { LoginType } from '../../enum/auth.enum';
|
|
2
|
-
export interface EventsSdkOptions {
|
|
3
|
-
fallbackServer: Server;
|
|
4
|
-
refreshTokenUrl?: string;
|
|
5
|
-
refreshToken?: string;
|
|
6
|
-
servers?: string;
|
|
7
|
-
token: string;
|
|
8
|
-
tokenExpiry?: Date;
|
|
9
|
-
loginType: LoginType;
|
|
10
|
-
forceNew?: boolean;
|
|
11
|
-
reconnectionDelay: number;
|
|
12
|
-
reconnectionDelayMax?: number;
|
|
13
|
-
maxReconnectAttempts: number;
|
|
14
|
-
timeout?: number;
|
|
15
|
-
keepAliveTimeout: number;
|
|
16
|
-
idleInterval?: number;
|
|
17
|
-
protocol: string;
|
|
18
|
-
transports?: string[];
|
|
19
|
-
upgrade?: boolean;
|
|
20
|
-
serverFetchStrategy?: string;
|
|
21
|
-
serverType?: number;
|
|
22
|
-
useLogger?: boolean;
|
|
23
|
-
loggerSocketConnection?: string;
|
|
24
|
-
loggerServer?: string;
|
|
25
|
-
loggerConfig?: LoggerConfig;
|
|
26
|
-
loggerConnectOptions?: LoggerConnectOptions;
|
|
27
|
-
email: string;
|
|
28
|
-
password: string;
|
|
29
|
-
username: string;
|
|
30
|
-
}
|
|
31
|
-
export interface Server {
|
|
32
|
-
Priority: number;
|
|
33
|
-
Domain: string;
|
|
34
|
-
URLID: number;
|
|
35
|
-
Version: string;
|
|
36
|
-
}
|
|
37
|
-
export interface LoggerConfig {
|
|
38
|
-
logToConsole?: boolean;
|
|
39
|
-
overloadGlobalConsole?: boolean;
|
|
40
|
-
namespace?: string;
|
|
41
|
-
socketEmitInterval?: number;
|
|
42
|
-
}
|
|
43
|
-
export interface LoggerConnectOptions {
|
|
44
|
-
reconnection?: boolean;
|
|
45
|
-
reconnectionDelay?: number;
|
|
46
|
-
reconnectionAttempts?: number;
|
|
47
|
-
perMessageDeflate?: boolean;
|
|
48
|
-
upgrade?: boolean;
|
|
49
|
-
transports?: string[];
|
|
50
|
-
debug?: boolean;
|
|
51
|
-
}
|
|
52
|
-
export interface ReconnectOptions {
|
|
53
|
-
retryCount: number;
|
|
54
|
-
maxReconnectAttempts: number;
|
|
55
|
-
reconnectionDelay: number;
|
|
56
|
-
minReconnectionDelay: number;
|
|
57
|
-
maxReconnectionDelay: number;
|
|
58
|
-
}
|
|
59
|
-
export declare enum ServerParameter {
|
|
60
|
-
DEFAULT = "default",
|
|
61
|
-
NEXT = "next",
|
|
62
|
-
PREVIOUS = "previous"
|
|
63
|
-
}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import EventsSdkClass from '../events-sdk/events-sdk.class';
|
|
2
|
-
import { TypedSocketIo } from './versions';
|
|
3
|
-
import { SocketTyped } from '../../types/socket';
|
|
4
|
-
export declare class SocketIoClass {
|
|
5
|
-
private readonly eventsSdkClass;
|
|
6
|
-
constructor(eventsSdkClass: EventsSdkClass);
|
|
7
|
-
io: SocketTyped | undefined;
|
|
8
|
-
ioFunction: TypedSocketIo | undefined;
|
|
9
|
-
lastEventTimestamp: number;
|
|
10
|
-
doReconnect: boolean;
|
|
11
|
-
private keepAliveInterval;
|
|
12
|
-
private keepReconnectInterval;
|
|
13
|
-
private connected;
|
|
14
|
-
getSocketIoFunction(Client: string): void;
|
|
15
|
-
initSocketConnection(): void;
|
|
16
|
-
initSocketEvents(): void;
|
|
17
|
-
clearKeepAliveInterval(): void;
|
|
18
|
-
initKeepAlive(): void;
|
|
19
|
-
closeAllConnections(): void;
|
|
20
|
-
private onKeepAliveResponse;
|
|
21
|
-
private onConnect;
|
|
22
|
-
private onDisconnect;
|
|
23
|
-
}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { io } from 'socket.io-client';
|
|
2
|
-
import { SocketTyped } from '../../../types/socket';
|
|
3
|
-
export type TypedSocketIo = (...args: Parameters<typeof io>) => SocketTyped;
|
|
4
|
-
declare const _default: {
|
|
5
|
-
getSocketVersion: (version: string) => TypedSocketIo;
|
|
6
|
-
makeSocketVersion: (version: string, uri: string, opts?: Partial<import("socket.io-client").ManagerOptions & import("socket.io-client").SocketOptions> | undefined) => SocketTyped;
|
|
7
|
-
};
|
|
8
|
-
export default _default;
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import { LoginSessionData } from '../../types/auth';
|
|
2
|
-
export declare class StorageClass {
|
|
3
|
-
static getSessionStorageDataByKey(key: string): Promise<LoginSessionData | undefined>;
|
|
4
|
-
static updateSessionStorageKey(key: string, storageData: LoginSessionData): Promise<void>;
|
|
5
|
-
static clearSessionStorage(): void;
|
|
6
|
-
}
|
package/dist/enum/auth.enum.d.ts
DELETED
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* All events that can be received from the server.
|
|
3
|
-
*/
|
|
4
|
-
export declare enum EventsEnum {
|
|
5
|
-
ALL_DIALER_STATUS = "AllDialersStatus",
|
|
6
|
-
ALL_EXTENSION_STATUS = "AllExtensionsStatus",
|
|
7
|
-
ALL_USERS_STATUS = "AllUsersStatus",
|
|
8
|
-
CONNECT = "connect",
|
|
9
|
-
DISCONNECT = "disconnect",
|
|
10
|
-
EXTENSION_EVENT = "ExtensionEvent",
|
|
11
|
-
KEEP_ALIVE = "keepalive",
|
|
12
|
-
KEEP_ALIVE_RESPONSE = "keepaliveResponse",
|
|
13
|
-
LOGIN_STATUS = "loginStatus",
|
|
14
|
-
LOGIN_SUCCESS = "loginSuccess",
|
|
15
|
-
QUEUE_EVENT = "QueueEvent",
|
|
16
|
-
ONLINE_STATUS_EVENT = "onlineStatusEvent",
|
|
17
|
-
DIALER_EVENT = "DialerEvent"
|
|
18
|
-
}
|
|
19
|
-
/**
|
|
20
|
-
* All the reasons for the extension event, e.g. a new call is ringing or dialing from an extension.
|
|
21
|
-
*/
|
|
22
|
-
export declare enum ExtensionEventReasonEnum {
|
|
23
|
-
NEW_CALL = "NEWCALL",
|
|
24
|
-
ANSWER = "ANSWER",
|
|
25
|
-
HOLD = "HOLD",
|
|
26
|
-
UNHOLD = "UNHOLD",
|
|
27
|
-
HANGUP = "HANGUP",
|
|
28
|
-
USER_STATUS_UPDATE = "userStatusUpdate"
|
|
29
|
-
}
|
|
30
|
-
export declare enum QueueEventReasonEnum {
|
|
31
|
-
ANSWER = "ANSWER",
|
|
32
|
-
ABANDONED = "ABANDONED",
|
|
33
|
-
EXIT = "EXIT",
|
|
34
|
-
JOIN = "JOIN"
|
|
35
|
-
}
|
|
36
|
-
export declare enum DialerType {
|
|
37
|
-
AUTOMATIC = "Automatic",
|
|
38
|
-
IVR = "IVR"
|
|
39
|
-
}
|
|
40
|
-
/**
|
|
41
|
-
* All the eventNames that can be received from the server. Exists only in EXTENSION_EVENT and QueueEvent
|
|
42
|
-
*/
|
|
43
|
-
export declare enum EventNameEnum {
|
|
44
|
-
EXTENSION = "extension",
|
|
45
|
-
QUEUE = "queue",
|
|
46
|
-
DIALER = "dialer"
|
|
47
|
-
}
|
|
48
|
-
export declare enum ExtensionHangupCauseEnum {
|
|
49
|
-
NORMAL_HANGUP = "Normal hangup",
|
|
50
|
-
USER_BUSY = "User busy",
|
|
51
|
-
CALL_REJECTED = "Call Rejected",
|
|
52
|
-
UNALLOCATED_NUMBER = "Unallocated (unassigned) number",
|
|
53
|
-
UNKNOWN = "Unknown",
|
|
54
|
-
NO_USER_RESPONDING = "No user responding",
|
|
55
|
-
USER_ALERTING = "User alerting, no answer",
|
|
56
|
-
ANSWERED_ELSEWHERE = "Answered elsewhere"
|
|
57
|
-
}
|
|
58
|
-
export declare enum CallStatusEnum {
|
|
59
|
-
RINGING = "Ringing",
|
|
60
|
-
TALKING = "Talking",
|
|
61
|
-
DIALING = "Dialing",
|
|
62
|
-
HOLD = "Hold"
|
|
63
|
-
}
|
|
64
|
-
export declare enum CallTypeEnum {
|
|
65
|
-
INCOMING = "Incoming",
|
|
66
|
-
OUTGOING = "Outgoing"
|
|
67
|
-
}
|
|
68
|
-
export declare enum DoNotCallMeStatusCodeEnum {
|
|
69
|
-
RESPONSE_FROM_API_VALID = "RESPONSE_FROM_API_VALID",
|
|
70
|
-
RESPONSE_FROM_API_INVALID = "RESPONSE_FROM_API_INVALID"
|
|
71
|
-
}
|
|
72
|
-
export declare enum DirectionEnum {
|
|
73
|
-
INCOMING = "Incoming",
|
|
74
|
-
OUTGOING = "Outgoing",
|
|
75
|
-
SPY = "Spy",
|
|
76
|
-
CLICK2CALL = "Click2call"
|
|
77
|
-
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|