refactor(signalwire): add dynamic api base url

This commit is contained in:
Ali BARIN
2023-03-13 19:10:20 +00:00
parent 42dd67954d
commit 10b4066c82
4 changed files with 20 additions and 12 deletions

View File

@@ -3,6 +3,7 @@ import verifyCredentials from './verify-credentials';
const isStillVerified = async ($: IGlobalVariable) => {
await verifyCredentials($);
return true;
};

View File

@@ -1,10 +1,10 @@
import { IGlobalVariable } from '@automatisch/types';
const verifyCredentials = async ($: IGlobalVariable) => {
await $.http.get('https://' + $.auth.data.spaceName + '.' + $.auth.data.spaceRegion + 'signalwire.com' + '/api/laml/2010-04-01/Accounts');
const { data } = await $.http.get(`/api/laml/2010-04-01/Accounts/${$.auth.data.accountSid}`);
await $.auth.set({
screenName: $.auth.data.accountSid,
screenName: `${data.friendly_name} (${$.auth.data.accountSid})`,
});
};

View File

@@ -1,19 +1,26 @@
import { TBeforeRequest } from '@automatisch/types';
const addAuthHeader: TBeforeRequest = ($, requestConfig) => {
if (
requestConfig.headers &&
$.auth.data?.accountSid &&
$.auth.data?.authToken
) {
requestConfig.headers['Content-Type'] = 'application/x-www-form-urlencoded';
const authData = $.auth.data || {};
requestConfig.headers['Content-Type'] = 'application/x-www-form-urlencoded';
if (
authData.accountSid &&
authData.authToken
) {
requestConfig.auth = {
username: $.auth.data.accountSid as string,
password: $.auth.data.authToken as string,
username: authData.accountSid as string,
password: authData.authToken as string,
};
}
if (authData.spaceName) {
const serverUrl = `https://${authData.spaceName}.${authData.spaceRegion}signalwire.com`;
requestConfig.baseURL = serverUrl as string;
}
return requestConfig;
};

View File

@@ -4,7 +4,7 @@ const fetchMessages = async ($: IGlobalVariable) => {
const toNumber = $.step.parameters.toNumber as string;
let response;
let requestPath = 'https://' + $.auth.data.spaceName + '.' + $.auth.data.spaceRegion + 'signalwire.com' + `/api/laml/2010-04-01/Accounts/${$.auth.data.accountSid}/Messages?To=${toNumber}`;
let requestPath = `/api/laml/2010-04-01/Accounts/${$.auth.data.accountSid}/Messages?To=${toNumber}`;
do {
response = await $.http.get(requestPath);
@@ -20,7 +20,7 @@ const fetchMessages = async ($: IGlobalVariable) => {
$.pushTriggerItem(dataItem);
});
requestPath = 'https://' + $.auth.data.spaceName + '.' + $.auth.data.spaceRegion + 'signalwire.com' + response.data.next_page_uri;
requestPath = response.data.next_page_uri;
} while (requestPath);
};