Merge branch 'master' into NTP-27557-ext-deprec

This commit is contained in:
vivek bhadola
2025-02-04 19:34:18 +05:30
8 changed files with 83 additions and 1 deletions

View File

@@ -3,6 +3,15 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## 1.3.1 (2025-01-30)
**Note:** Version bump only for package @universal-call-sdk/adapter-ameyo
## 1.2.6 (2025-01-29)
**Note:** Version bump only for package @universal-call-sdk/adapter-ameyo

View File

@@ -39,6 +39,7 @@ import ClickStreamProcessor from "@universal-call-sdk/common/lib/utils/clickStre
import {tagManager} from "./htmlTagManager";
import {callStateManager} from "./callStateManager.ts";
import MessagingType from "../types/MessagingType.ts";
import { checkAllPermissions } from "@universal-call-sdk/common/lib/utils/getPermissions.ts";
class AmeyoAdapter implements IAdapter {
private callbacks: CallbackFunctions;
private currentCallState: CALL_STATES;
@@ -423,6 +424,10 @@ class AmeyoAdapter implements IAdapter {
public registerOnCallTransferStatus(callback: (data: GenericObject) => void): void {
this.callbacks.onCallTransferStatus = callback;
}
public async checkAllPermissions(): Promise<boolean> {
return await checkAllPermissions();
}
}
export default AmeyoAdapter;

View File

@@ -3,6 +3,15 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## 1.3.1 (2025-01-30)
**Note:** Version bump only for package @universal-call-sdk/common
## 1.2.6 (2025-01-29)
**Note:** Version bump only for package @universal-call-sdk/common

View File

@@ -33,6 +33,7 @@ class IAdapter {
return Promise.resolve(new Response());
}
transferCallToAgent(data: GenericObject) {console.log("transfer call", data)}
checkAllPermissions():Promise<boolean> {return Promise.resolve(true)}
}
export default IAdapter;

View File

@@ -0,0 +1,7 @@
export enum PermissionState {
GRANTED = "granted",
PROMPT = "prompt",
DENIED = "denied"
}
export const MICROPHONE = 'microphone' as PermissionName;

View File

@@ -0,0 +1,37 @@
import { MICROPHONE, PermissionState } from "../constants";
export const checkPermission = async (permissionName: PermissionName, mediaType: MediaStreamConstraints): Promise<boolean> => {
try {
if (!navigator.permissions) {
return false;
}
const permission = await navigator.permissions.query({ name: permissionName });
permission.onchange = () => {
location.reload();
};
switch (permission.state) {
case PermissionState.GRANTED:
return true;
case PermissionState.PROMPT:
await navigator.mediaDevices.getUserMedia(mediaType);
return false;
case PermissionState.DENIED:
return false;
default:
return false;
}
} catch (error) {
return false;
}
};
export const checkMicrophonePermission = async (): Promise<boolean> => {
return checkPermission(MICROPHONE, { audio: true });
};
export const checkAllPermissions = async (): Promise<boolean> => {
return await checkMicrophonePermission();
};

View File

@@ -3,6 +3,15 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## 1.3.1 (2025-01-30)
**Note:** Version bump only for package @universal-call-sdk/core
## 1.2.6 (2025-01-29)
**Note:** Version bump only for package @universal-call-sdk/core

View File

@@ -193,6 +193,10 @@ function UseCallSdk({AdapterClass, adapterOptions, metricsConfig, clickStreamCon
adapter.transferCallToAgent(data);
}
function checkAllPermissions(): Promise<boolean> {
return adapter.checkAllPermissions();
}
return {
callState,
registerOnCallIncoming,
@@ -215,7 +219,8 @@ function UseCallSdk({AdapterClass, adapterOptions, metricsConfig, clickStreamCon
registerOnAdapterReady,
getAgentAvailability,
getAvailableAgentsForCallTransfer,
transferCallToAgent
transferCallToAgent,
checkAllPermissions
}
}