fix: refactor whatsapp calling for lint compliance, outbound call UI, and SDP handling

This commit is contained in:
Tanmay Deep Sharma
2026-03-18 14:59:56 +05:30
parent c813505e7d
commit 1e3c6ad620
13 changed files with 339 additions and 261 deletions
+8 -20
View File
@@ -1,39 +1,27 @@
/* global axios */
class WhatsappCallsAPI {
import ApiClient from './ApiClient';
class WhatsappCallsAPI extends ApiClient {
constructor() {
this.apiVersion = '/api/v1';
}
// eslint-disable-next-line class-methods-use-this
get accountIdFromRoute() {
const isInsideAccountScopedURLs =
window.location.pathname.includes('/app/accounts');
if (isInsideAccountScopedURLs) {
return window.location.pathname.split('/')[3];
}
return '';
}
get baseUrl() {
return `${this.apiVersion}/accounts/${this.accountIdFromRoute}/whatsapp_calls`;
super('whatsapp_calls', { accountScoped: true });
}
accept(callId, sdpAnswer) {
return axios.post(`${this.baseUrl}/${callId}/accept`, {
return axios.post(`${this.url}/${callId}/accept`, {
sdp_answer: sdpAnswer,
});
}
reject(callId) {
return axios.post(`${this.baseUrl}/${callId}/reject`);
return axios.post(`${this.url}/${callId}/reject`);
}
terminate(callId) {
return axios.post(`${this.baseUrl}/${callId}/terminate`);
return axios.post(`${this.url}/${callId}/terminate`);
}
initiate(conversationId, sdpOffer) {
return axios.post(`${this.baseUrl}/initiate`, {
return axios.post(`${this.url}/initiate`, {
conversation_id: conversationId,
sdp_offer: sdpOffer,
});