Files
call-sdk/packages/common/lib/Interfaces/IAdapter.ts
2025-02-04 19:34:18 +05:30

40 lines
1.7 KiB
TypeScript

import GenericObject from "../types/GenericObject.ts";
import MetricsProcessor from "../utils/metricsProcessor.ts";
import ClickStreamProcessor from "../utils/clickStreamProcessor.ts";
import {CALL_STATES} from "@universal-call-sdk/adapter-ameyo/lib/types.ts";
class IAdapter {
registerOnCallIncoming(callback: (callState: GenericObject)=>void) {callback({})}
registerOnCallConnected(callback: (callState: GenericObject)=>void) {callback({})}
registerOnCallDisconnected(callback: (callState: GenericObject)=>void) {callback({})}
registerOnAdapterReady(callback: ()=> void) {callback()}
registerOnAgentAvailabilityChange(callback: (isAgentAvailable: boolean, reason: string) => void) {callback(false, '')}
registerOnForcedLogoutListener(callback:()=>void) {callback()}
registerOnLoginFailedListener(callback:()=>void) {callback()}
registerOnCallTransferStatus(callback: (data: GenericObject) => void) {callback({})}
acceptCall() {}
rejectCall() {}
muteCall() {}
disposeCall() {}
unmuteCall() {}
setOnBreak() {}
setAvailable() {}
logOut() {}
init(metricProcessor: (MetricsProcessor) | undefined, clickStreamProcessor: (ClickStreamProcessor)| undefined) {
console.log('metric processor and click stream processor', metricProcessor, clickStreamProcessor)
}
getAgentAvailability(): boolean {return false}
getLatestCallState(): CALL_STATES {return CALL_STATES.IDLE}
getAvailableAgentsForCallTransfer(): Promise<any> {
return Promise.resolve(new Response());
}
transferCallToAgent(data: GenericObject) {console.log("transfer call", data)}
checkAllPermissions():Promise<boolean> {return Promise.resolve(true)}
}
export default IAdapter;