From 7017490e05f83e9cbfecb078e842e7285852b76a Mon Sep 17 00:00:00 2001 From: varnit goyal Date: Fri, 6 Dec 2024 12:44:35 +0530 Subject: [PATCH] TP-89230 | error handling --- packages/adapter-ameyo/lib/main.ts | 14 +++++++++++++- packages/common/lib/Interfaces/IAdapter.ts | 1 + packages/core/lib/useCallSdk.ts | 5 +++++ 3 files changed, 19 insertions(+), 1 deletion(-) diff --git a/packages/adapter-ameyo/lib/main.ts b/packages/adapter-ameyo/lib/main.ts index 5d042d2..196f46f 100644 --- a/packages/adapter-ameyo/lib/main.ts +++ b/packages/adapter-ameyo/lib/main.ts @@ -30,7 +30,8 @@ class AmeyoAdapter implements IAdapter { onCallIncoming: (data: StateType) => void, onAdapterReady: () => void, onAgentAvailabilityChange: (isAgentAvailable: boolean) => void - onForcedLogout: () => void + onForcedLogout: () => void, + onLoginFailed: (err: GenericObject)=>void }; private currentCallState: string; private eventListenerUrl: string; @@ -67,6 +68,9 @@ class AmeyoAdapter implements IAdapter { onAgentAvailabilityChange: () => { }, onForcedLogout: () => { + }, + onLoginFailed: ()=>{ + } }; this.sessionId = ''; @@ -107,6 +111,9 @@ class AmeyoAdapter implements IAdapter { _onListenForCorsBypassResponse = (payload: GenericObject) => { console.log('universal sdk', payload); if (payload?.data?.requestKey === RequestKeys.AMEYO_LOGIN) { + if(payload?.err) { + this.callbacks.onLoginFailed(payload?.err); + } const sessionId = payload?.data?.response?.userSessionInfo?.sessionId; this.sessionId = sessionId; getSipAccountInfo(sessionId, this.userName?.toLowerCase()); @@ -220,6 +227,11 @@ class AmeyoAdapter implements IAdapter { this.callbacks.onForcedLogout = callback; } + registerOnLoginFailedListener(callback: ()=>void) { + console.log('register on login failed'); + this.callbacks.onLoginFailed = callback + } + acceptCall() { console.log('acceptCall'); acceptSipCall(); diff --git a/packages/common/lib/Interfaces/IAdapter.ts b/packages/common/lib/Interfaces/IAdapter.ts index 82d5f9a..95dff3c 100644 --- a/packages/common/lib/Interfaces/IAdapter.ts +++ b/packages/common/lib/Interfaces/IAdapter.ts @@ -10,6 +10,7 @@ class IAdapter { registerOnAgentAvailabilityChange(callback: (isAgentAvailable: boolean) => void) {callback(false)} registerOnForcedLogoutListener(callback:()=>void) {callback()} + registerOnLoginFailedListener(callback:()=>void) {callback()} acceptCall() {} rejectCall() {} muteCall() {} diff --git a/packages/core/lib/useCallSdk.ts b/packages/core/lib/useCallSdk.ts index 86fd645..9b1a064 100644 --- a/packages/core/lib/useCallSdk.ts +++ b/packages/core/lib/useCallSdk.ts @@ -106,6 +106,10 @@ function UseCallSdk({AdapterClass, adapterOptions} : {AdapterClass: new (adapter adapter.registerOnForcedLogoutListener(callback); } + function registerOnLoginFailedListener(callback:()=>void) { + adapter.registerOnLoginFailedListener(callback); + } + function acceptCall() { adapter.acceptCall(); } @@ -154,6 +158,7 @@ function UseCallSdk({AdapterClass, adapterOptions} : {AdapterClass: new (adapter registerOnCallDisconnected, registerOnAgentAvailabilityChange, registerOnForcedLogoutListener, + registerOnLoginFailedListener, acceptCall, rejectCall, disposeCall,