@sirhc77/signalwire-rest-sdk
Version:
An SDK for the SignalWire REST API
866 lines • 153 kB
JavaScript
"use strict";
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }
var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {
if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
var g = generator.apply(thisArg, _arguments || []), i, q = [];
return i = Object.create((typeof AsyncIterator === "function" ? AsyncIterator : Object).prototype), verb("next"), verb("throw"), verb("return", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;
function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }
function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }
function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }
function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
function fulfill(value) { resume("next", value); }
function reject(value) { resume("throw", value); }
function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.SignalWireRESTClient = void 0;
const browser_or_node_1 = require("browser-or-node");
const axios_1 = __importDefault(require("axios"));
const modelConverters_1 = require("./modelConverters");
const PagedResponse_1 = require("./PagedResponse");
const swmlModelConverters_1 = require("./swmlModelConverters");
class SignalWireRESTClient {
constructor(space, projectId, token, axiosConfig) {
const self = this;
this.baseUrl = `https://${space}`;
this.username = projectId;
this.password = token;
this.axiosInstance = axios_1.default.create(Object.assign({ baseURL: this.baseUrl }, axiosConfig));
this.defaultHeaders = {
Accept: "application/json",
Authorization: `Basic ${browser_or_node_1.isNode ?
Buffer.from(self.username + ":" + self.password).toString("base64") :
btoa(self.username + ":" + self.password)}`
};
this.datasphere = {
documents: {
listDocuments() {
return self.getRequestIterator('/api/datasphere/documents', modelConverters_1.convertJSONToDocument);
},
listDocumentsPage(url) {
return __awaiter(this, void 0, void 0, function* () {
return self.getRequestPage('/api/datasphere/documents', modelConverters_1.convertJSONToDocument, url);
});
},
createDocument(request) {
return __awaiter(this, void 0, void 0, function* () {
return self.postRequest('/api/datasphere/documents', request, modelConverters_1.convertCreateDocumentRequestToJSON, modelConverters_1.convertJSONToDocument);
});
},
searchDocument(request) {
return __awaiter(this, void 0, void 0, function* () {
return self.postRequest('/api/datasphere/documents/search', request, modelConverters_1.convertSearchDocumentRequestToJSON, modelConverters_1.convertJSONToSearchDocumentsResponse);
});
},
updateDocument(id, request) {
return __awaiter(this, void 0, void 0, function* () {
return self.patchRequest(`/api/datasphere/documents/${id}`, request, (request) => ({
tags: request.tags
}), modelConverters_1.convertJSONToDocument);
});
},
deleteDocument(id) {
return __awaiter(this, void 0, void 0, function* () {
return self.deleteRequest(`/api/datasphere/documents/${id}`);
});
}
},
chunks: {
listChunks(documentId) {
return self.getRequestIterator(`/api/datasphere/documents/${documentId}/chunks`, modelConverters_1.convertJSONToDatasphereDocumentChunk);
},
listChunksPage(documentId, url) {
return __awaiter(this, void 0, void 0, function* () {
return self.getRequestPage(`/api/datasphere/documents/${documentId}/chunks`, modelConverters_1.convertJSONToDatasphereDocumentChunk, url);
});
},
retrieveChunk(documentId, chunkId) {
return __awaiter(this, void 0, void 0, function* () {
return self.getRequest(`/api/datasphere/documents/${documentId}/chunks/${chunkId}`, modelConverters_1.convertJSONToDatasphereDocumentChunk);
});
},
deleteChunk(documentId, chunkId) {
return __awaiter(this, void 0, void 0, function* () {
return self.deleteRequest(`/api/datasphere/documents/${documentId}/chunks/${chunkId}`);
});
}
}
};
this.calling = {
calls: {
createCall(request) {
return __awaiter(this, void 0, void 0, function* () {
return self.postRequest('/api/calling/calls', request, modelConverters_1.convertCreateCallRequestToJSON, modelConverters_1.convertJSONToCallResponse);
});
},
updateCall(request) {
return __awaiter(this, void 0, void 0, function* () {
return self.putRequest('/api/calling/calls', request, modelConverters_1.convertUpdateCallRequestToJSON, modelConverters_1.convertJSONToCallResponse);
});
}
}
};
this.spaceManagement = {
multiFactorAuthentication: {
requestMfaTokenViaText(request) {
return __awaiter(this, void 0, void 0, function* () {
return self.postRequest('/api/relay/rest/mfa/sms', request, (request) => {
return {
to: request.to,
from: request.from,
message: request.message,
token_length: request.tokenLength,
max_attempts: request.maxAttempts,
allow_alphas: request.allowAlphas,
valid_for: request.validFor,
};
}, (json) => ({
id: json.id,
success: json.success,
to: json.to,
channel: json.channel
}));
});
},
requestMfaTokenViaPhoneCall(request) {
return __awaiter(this, void 0, void 0, function* () {
return self.postRequest('/api/relay/rest/mfa/call', request, (request) => ({
to: request.to,
from: request.from,
message: request.message,
token_length: request.tokenLength,
max_attempts: request.maxAttempts,
allow_alphas: request.allowAlphas,
valid_for: request.validFor,
}), (json) => ({
id: json.id,
success: json.success,
to: json.to,
channel: json.channel
}));
});
},
verifyToken(mfaRequestId, request) {
return __awaiter(this, void 0, void 0, function* () {
return self.postRequest(`/api/relay/rest/mfa/${mfaRequestId}/verify`, request, (request) => ({
token: request.token,
}), (json) => ({
success: json.data.success,
}));
});
}
},
verifiedCallerIds: {
createVerifiedCallerId(request) {
return __awaiter(this, void 0, void 0, function* () {
return self.postRequest('/api/relay/rest/verified_caller_ids', request, (request) => ({
name: request.name,
extension: request.extension,
number: request.number,
}), (json) => ({
type: json.type,
id: json.id,
name: json.name,
extension: json.extension,
number: json.number,
verified: json.verified,
verifiedAt: json.verified_at,
status: json.status
}));
});
},
validateVerificationCode(id, request) {
return __awaiter(this, void 0, void 0, function* () {
return self.putRequest(`/api/relay/rest/verified_caller_ids/${id}/verification`, request, (request) => ({
verification_code: request.verificationCode
}), (json) => ({
type: json.type,
id: json.id,
name: json.name,
extension: json.extension,
number: json.number,
verified: json.verified,
verifiedAt: json.verified_at,
status: json.status
}));
});
},
redialVerificationCall(id) {
return __awaiter(this, void 0, void 0, function* () {
return self.postEmptyRequest(`/api/relay/rest/verified_caller_ids/${id}/verification`, (json) => ({
type: json.type,
id: json.id,
name: json.name,
extension: json.extension,
number: json.number,
verified: json.verified,
verifiedAt: json.verified_at,
status: json.status
}));
});
},
listAllVerifiedCallerIds(options) {
const params = {};
if (options === null || options === void 0 ? void 0 : options.filterName) {
params.filter_name = options.filterName;
}
if (options === null || options === void 0 ? void 0 : options.filterNumber) {
params.filter_number = options.filterNumber;
}
return self.getRequestIterator("/api/relay/rest/verified_caller_ids", (item) => ({
type: item.type,
id: item.id,
name: item.name,
extension: item.extension,
number: item.number,
verified: item.verified,
verifiedAt: item.verified_at,
status: item.status
}), params);
},
listAllVerifiedCallerIdsPage(options, url) {
return __awaiter(this, void 0, void 0, function* () {
const params = {};
if (options === null || options === void 0 ? void 0 : options.filterName) {
params.filter_name = options.filterName;
}
if (options === null || options === void 0 ? void 0 : options.filterNumber) {
params.filter_number = options.filterNumber;
}
return self.getRequestPage('/api/relay/rest/verified_caller_ids', (item) => ({
type: item.type,
id: item.id,
name: item.name,
extension: item.extension,
number: item.number,
verified: item.verified,
verifiedAt: item.verified_at,
status: item.status
}), url, params);
});
},
retrieveVerifiedCallerId(id) {
return __awaiter(this, void 0, void 0, function* () {
return self.getRequest(`/api/relay/rest/verified_caller_ids/${id}`, (json) => ({
type: json.type,
id: json.id,
name: json.name,
extension: json.extension,
number: json.number,
verified: json.verified,
verifiedAt: json.verified_at,
status: json.status
}));
});
},
updateVerifiedCallerId(id, request) {
return __awaiter(this, void 0, void 0, function* () {
return self.putRequest(`/api/relay/rest/verified_caller_ids/${id}`, request, (request) => ({
name: request.name,
}), (json) => ({
type: json.type,
id: json.id,
name: json.name,
extension: json.extension,
number: json.number,
verified: json.verified,
verifiedAt: json.verified_at,
status: json.status
}));
});
},
deleteVerifiedCallerId(id) {
return __awaiter(this, void 0, void 0, function* () {
return self.deleteRequest(`/api/relay/rest/verified_caller_ids/${id}`);
});
}
},
addresses: {
listAllAddresses() {
return self.getRequestIterator("/api/relay/rest/addresses", (item) => ({
id: item.id,
label: item.label,
country: item.country,
firstName: item.first_name,
lastName: item.last_name,
streetNumber: item.street_number,
streetName: item.street_name,
addressType: item.address_type,
addressNumber: item.address_number,
city: item.city,
state: item.state,
postalCode: item.postal_code,
}));
},
listAllAddressesPage(url) {
return __awaiter(this, void 0, void 0, function* () {
return self.getRequestPage('/api/relay/rest/addresses', (item) => ({
id: item.id,
label: item.label,
country: item.country,
firstName: item.first_name,
lastName: item.last_name,
streetNumber: item.street_number,
streetName: item.street_name,
addressType: item.address_type,
addressNumber: item.address_number,
city: item.city,
state: item.state,
postalCode: item.postal_code
}), url);
});
},
retrieveAddress(id) {
return __awaiter(this, void 0, void 0, function* () {
return self.getRequest(`/api/relay/rest/addresses/${id}`, (json) => ({
id: json.id,
label: json.label,
country: json.country,
firstName: json.first_name,
lastName: json.last_name,
streetNumber: json.street_number,
streetName: json.street_name,
addressType: json.address_type,
addressNumber: json.address_number,
city: json.city,
state: json.state,
postalCode: json.postal_code,
}));
});
},
deleteAddress(id) {
return __awaiter(this, void 0, void 0, function* () {
return self.deleteRequest(`/api/relay/rest/addresses/${id}`);
});
},
createAddress(request) {
return __awaiter(this, void 0, void 0, function* () {
return self.postRequest('/api/relay/rest/addresses', request, (request) => ({
label: request.label,
country: request.country,
first_name: request.firstName,
last_name: request.lastName,
street_number: request.streetNumber,
street_name: request.streetName,
address_type: request.addressType,
address_number: request.addressNumber,
city: request.city,
state: request.state,
postal_code: request.postalCode
}), (json) => ({
id: json.id,
label: json.label,
country: json.country,
firstName: json.first_name,
lastName: json.last_name,
streetNumber: json.street_number,
streetName: json.street_name,
addressType: json.address_type,
addressNumber: json.address_number,
city: json.city,
state: json.state,
postalCode: json.postal_code
}));
});
}
},
campaignRegistryApi: {
brands: {
listAllBrands(options) {
const params = {};
if (options === null || options === void 0 ? void 0 : options.filterName) {
params.filter_name = options.filterName;
}
if (options === null || options === void 0 ? void 0 : options.filterState) {
params.filter_state = options.filterState;
}
return self.getRequestIterator("/api/relay/rest/registry/beta/brands", (item) => ({
id: item.id,
state: item.state,
name: item.name,
companyName: item.company_name,
contactEmail: item.contact_email,
contactPhone: item.contact_phone,
einIssuingCountry: item.ein_issuing_country,
legalEntityType: item.legal_entity_type,
ein: item.ein,
companyAddress: item.company_address,
companyVertical: item.company_vertical,
companyWebsite: item.company_website,
cspBrandReference: item.csp_brand_reference,
cspSelfRegistered: item.csp_self_registered,
statusCallbackUrl: item.status_callback_url,
createdAt: item.created_at,
updatedAt: item.updated_at
}), params);
},
listAllBrandsPage(options, url) {
return __awaiter(this, void 0, void 0, function* () {
const params = {};
if (options === null || options === void 0 ? void 0 : options.filterName) {
params.filter_name = options.filterName;
}
if (options === null || options === void 0 ? void 0 : options.filterState) {
params.filter_state = options.filterState;
}
return self.getRequestPage('/api/relay/rest/registry/beta/brands', (item) => ({
id: item.id,
state: item.state,
name: item.name,
companyName: item.company_name,
contactEmail: item.contact_email,
contactPhone: item.contact_phone,
einIssuingCountry: item.ein_issuing_country,
legalEntityType: item.legal_entity_type,
ein: item.ein,
companyAddress: item.company_address,
companyVertical: item.company_vertical,
companyWebsite: item.company_website,
cspBrandReference: item.csp_brand_reference,
cspSelfRegistered: item.csp_self_registered,
statusCallbackUrl: item.status_callback_url,
createdAt: item.created_at,
updatedAt: item.updated_at
}), url, params);
});
},
retrieveBrand(id) {
return __awaiter(this, void 0, void 0, function* () {
return self.getRequest(`/api/relay/rest/registry/beta/brands/${id}`, (json) => ({
id: json.id,
state: json.state,
name: json.name,
companyName: json.company_name,
contactEmail: json.contact_email,
contactPhone: json.contact_phone,
einIssuingCountry: json.ein_issuing_country,
legalEntityType: json.legal_entity_type,
ein: json.ein,
companyAddress: json.company_address,
companyVertical: json.company_vertical,
companyWebsite: json.company_website,
cspBrandReference: json.csp_brand_reference,
cspSelfRegistered: json.csp_self_registered,
statusCallbackUrl: json.status_callback_url,
createdAt: json.created_at,
updatedAt: json.updated_at
}));
});
},
createBrand: function (request) {
return __awaiter(this, void 0, void 0, function* () {
return self.postRequest('/api/relay/rest/registry/beta/brands', request, (request) => ({
name: request.name,
company_name: request.companyName,
contact_email: request.contactEmail,
contact_phone: request.contactPhone,
ein_issuing_country: request.einIssuingCountry,
legal_entity_type: request.legalEntityType,
ein: request.ein,
company_address: request.companyAddress,
company_vertical: request.companyVertical,
company_website: request.companyWebsite,
csp_brand_reference: request.cspBrandReference,
csp_self_registered: request.cspSelfRegistered,
status_callback_url: request.statusCallbackUrl
}), (json) => ({
id: json.id,
state: json.state,
name: json.name,
companyName: json.company_name,
contactEmail: json.contact_email,
contactPhone: json.contact_phone,
einIssuingCountry: json.ein_issuing_country,
legalEntityType: json.legal_entity_type,
ein: json.ein,
companyAddress: json.company_address,
companyVertical: json.company_vertical,
companyWebsite: json.company_website,
cspBrandReference: json.csp_brand_reference,
cspSelfRegistered: json.csp_self_registered,
statusCallbackUrl: json.status_callback_url,
createdAt: json.created_at,
updatedAt: json.updated_at
}));
});
}
},
campaigns: {
listAllCampaigns(brandId) {
return self.getRequestIterator(`/api/relay/rest/registry/beta/brands/${brandId}/campaigns`, (item) => ({
id: item.id,
name: item.name,
smsUseCase: item.sms_use_case,
subUseCases: item.sub_use_cases,
description: item.description,
sample1: item.sample1,
sample2: item.sample2,
sample3: item.sample3,
sample4: item.sample4,
sample5: item.sample5,
dynamicTemplates: item.dynamic_templates,
messageFlow: item.message_flow,
optInMessage: item.opt_in_message,
optOutMessage: item.opt_out_message,
helpMessage: item.help_message,
numberPoolingRequired: item.number_pooling_required,
numberPoolingPerCampaign: item.number_pooling_per_campaign,
directLending: item.direct_lending,
embeddedLink: item.embedded_link,
embeddedPhone: item.embedded_phone,
ageGatedContent: item.age_gated_content,
leadGeneration: item.lead_generation,
termsAndConditions: item.terms_and_conditions,
createdAt: item.created_at,
updatedAt: item.updated_at
}));
},
listAllCampaignsPage(brandId, url) {
return __awaiter(this, void 0, void 0, function* () {
return self.getRequestPage(`/api/relay/rest/registry/beta/brands/${brandId}/campaigns`, (item) => ({
id: item.id,
name: item.name,
smsUseCase: item.sms_use_case,
subUseCases: item.sub_use_cases,
description: item.description,
sample1: item.sample1,
sample2: item.sample2,
sample3: item.sample3,
sample4: item.sample4,
sample5: item.sample5,
dynamicTemplates: item.dynamic_templates,
messageFlow: item.message_flow,
optInMessage: item.opt_in_message,
optOutMessage: item.opt_out_message,
helpMessage: item.help_message,
numberPoolingRequired: item.number_pooling_required,
numberPoolingPerCampaign: item.number_pooling_per_campaign,
directLending: item.direct_lending,
embeddedLink: item.embedded_link,
embeddedPhone: item.embedded_phone,
ageGatedContent: item.age_gated_content,
leadGeneration: item.lead_generation,
termsAndConditions: item.terms_and_conditions,
createdAt: item.created_at,
updatedAt: item.updated_at
}), url);
});
},
retrieveCampaign(campaignId) {
return __awaiter(this, void 0, void 0, function* () {
return self.getRequest(`/api/relay/rest/registry/beta/campaigns/${campaignId}`, (json) => ({
id: json.id,
name: json.name,
smsUseCase: json.sms_use_case,
subUseCases: json.sub_use_cases,
description: json.description,
sample1: json.sample1,
sample2: json.sample2,
sample3: json.sample3,
sample4: json.sample4,
sample5: json.sample5,
dynamicTemplates: json.dynamic_templates,
messageFlow: json.message_flow,
optInMessage: json.opt_in_message,
optOutMessage: json.opt_out_message,
helpMessage: json.help_message,
numberPoolingRequired: json.number_pooling_required,
numberPoolingPerCampaign: json.number_pooling_per_campaign,
directLending: json.direct_lending,
embeddedLink: json.embedded_link,
embeddedPhone: json.embedded_phone,
ageGatedContent: json.age_gated_content,
leadGeneration: json.lead_generation,
termsAndConditions: json.terms_and_conditions,
createdAt: json.created_at,
updatedAt: json.updated_at
}));
});
},
updateCampaign(campaignId, request) {
return __awaiter(this, void 0, void 0, function* () {
return self.putRequest(`/api/relay/rest/registry/beta/campaigns/${campaignId}`, request, (request) => ({
name: request.name
}), (json) => ({
id: json.id,
name: json.name,
smsUseCase: json.sms_use_case,
subUseCases: json.sub_use_cases,
description: json.description,
sample1: json.sample1,
sample2: json.sample2,
sample3: json.sample3,
sample4: json.sample4,
sample5: json.sample5,
dynamicTemplates: json.dynamic_templates,
messageFlow: json.message_flow,
optInMessage: json.opt_in_message,
optOutMessage: json.opt_out_message,
helpMessage: json.help_message,
numberPoolingRequired: json.number_pooling_required,
numberPoolingPerCampaign: json.number_pooling_per_campaign,
directLending: json.direct_lending,
embeddedLink: json.embedded_link,
embeddedPhone: json.embedded_phone,
ageGatedContent: json.age_gated_content,
leadGeneration: json.lead_generation,
termsAndConditions: json.terms_and_conditions,
createdAt: json.created_at,
updatedAt: json.updated_at
}));
});
},
createCampaign(brandId, request) {
return __awaiter(this, void 0, void 0, function* () {
return self.postRequest(`/api/relay/rest/registry/beta/brands/${brandId}/campaigns`, request, (request) => ({
name: request.name,
sms_use_case: request.smsUseCase,
sub_use_cases: request.subUseCases,
description: request.description,
sample1: request.sample1,
sample2: request.sample2,
sample3: request.sample3,
sample4: request.sample4,
sample5: request.sample5,
dynamic_templates: request.dynamicTemplates,
message_flow: request.messageFlow,
opt_in_message: request.optInMessage,
opt_out_message: request.optOutMessage,
help_message: request.helpMessage,
number_pooling_required: request.numberPoolingRequired,
number_pooling_per_campaign: request.numberPoolingPerCampaign,
direct_lending: request.directLending,
embedded_link: request.embeddedLink,
embedded_phone: request.embeddedPhone,
age_gated_content: request.ageGatedContent,
lead_generation: request.leadGeneration,
terms_and_conditions: request.termsAndConditions,
}), (json) => ({
id: json.id,
name: json.name,
smsUseCase: json.sms_use_case,
subUseCases: json.sub_use_cases,
description: json.description,
sample1: json.sample1,
sample2: json.sample2,
sample3: json.sample3,
sample4: json.sample4,
sample5: json.sample5,
dynamicTemplates: json.dynamic_templates,
messageFlow: json.message_flow,
optInMessage: json.opt_in_message,
optOutMessage: json.opt_out_message,
helpMessage: json.help_message,
numberPoolingRequired: json.number_pooling_required,
numberPoolingPerCampaign: json.number_pooling_per_campaign,
directLending: json.direct_lending,
embeddedLink: json.embedded_link,
embeddedPhone: json.embedded_phone,
ageGatedContent: json.age_gated_content,
leadGeneration: json.lead_generation,
termsAndConditions: json.terms_and_conditions,
createdAt: json.created_at,
updatedAt: json.updated_at
}));
});
}
},
campaignNumberAssignments: {
listAllPhoneNumberAssignments(campaignId, options) {
const params = {};
if (options === null || options === void 0 ? void 0 : options.filterState) {
params.filter_state = options.filterState;
}
return self.getRequestIterator(`/api/relay/rest/registry/beta/campaigns/${campaignId}/numbers`, (item) => (item), params);
},
listAllPhoneNumberAssignmentsPage(campaignId, options, url) {
return __awaiter(this, void 0, void 0, function* () {
const params = {};
if (options === null || options === void 0 ? void 0 : options.filterState) {
params.filter_state = options.filterState;
}
return self.getRequestPage(`/api/relay/rest/registry/beta/campaigns/${campaignId}/numbers`, (item) => (item), url, params);
});
},
listAllPhoneNumberAssignmentOrders(campaignId, options) {
const params = {};
if (options === null || options === void 0 ? void 0 : options.filterState) {
params.filter_state = options.filterState;
}
return self.getRequestIterator(`/api/relay/rest/registry/beta/campaigns/${campaignId}/orders`, (item) => ({
id: item.id,
state: item.state,
processedAt: item.processed_at,
createdAt: item.created_at,
updatedAt: item.updated_at,
statusCallbackUrl: item.status_callback_url
}), params);
},
listAllPhoneNumberAssignmentOrdersPage(campaignId, options, url) {
return __awaiter(this, void 0, void 0, function* () {
const params = {};
if (options === null || options === void 0 ? void 0 : options.filterState) {
params.filter_state = options.filterState;
}
return self.getRequestPage(`/api/relay/rest/registry/beta/campaigns/${campaignId}/numbers`, (item) => ({
id: item.id,
state: item.state,
processedAt: item.processed_at,
createdAt: item.created_at,
updatedAt: item.updated_at,
statusCallbackUrl: item.status_callback_url
}), url, params);
});
},
retrievePhoneNumberAssignmentOrder(assignmentOrderId) {
return __awaiter(this, void 0, void 0, function* () {
return self.getRequest(`/api/relay/rest/registry/beta/orders/${assignmentOrderId}`, (json) => ({
id: json.id,
state: json.state,
processedAt: json.processed_at,
createdAt: json.created_at,
updatedAt: json.updated_at,
statusCallbackUrl: json.status_callback_url
}));
});
},
createPhoneNumberAssignmentOrder(campaignId, request) {
return __awaiter(this, void 0, void 0, function* () {
return self.postRequest(`/api/relay/rest/registry/beta/campaigns/${campaignId}/orders`, request, (request) => ({
phone_numbers: request.phoneNumbers,
}), (json) => ({
id: json.id,
state: json.state,
processedAt: json.processed_at,
createdAt: json.created_at,
updatedAt: json.updated_at,
statusCallbackUrl: json.status_callback_url
}));
});
},
deletePhoneNumberAssignment(numberAssignmentId) {
return __awaiter(this, void 0, void 0, function* () {
return self.deleteRequest(`/api/relay/rest/registry/beta/numbers/${numberAssignmentId}`);
});
}
},
},
domainApplications: {
listAllDomainApplications(options) {
const params = {};
if (options === null || options === void 0 ? void 0 : options.filterDomain) {
params.filter_domain = options.filterDomain;
}
if (options === null || options === void 0 ? void 0 : options.filterName) {
params.filter_name = options.filterName;
}
return self.getRequestIterator('/api/relay/rest/domain_applications', modelConverters_1.convertJSONToDomainApplication, params);
},
listAllDomainApplicationsPage(options, url) {
return __awaiter(this, void 0, void 0, function* () {
const params = {};
if (options === null || options === void 0 ? void 0 : options.filterDomain) {
params.filter_domain = options.filterDomain;
}
if (options === null || options === void 0 ? void 0 : options.filterName) {
params.filter_name = options.filterName;
}
return self.getRequestPage('/api/relay/rest/domain_applications', modelConverters_1.convertJSONToDomainApplication, url, params);
});
},
retrieveDomainApplication(domainApplicationId) {
return __awaiter(this, void 0, void 0, function* () {
return self.getRequest(`/api/relay/rest/domain_applications/${domainApplicationId}`, modelConverters_1.convertJSONToDomainApplication);
});
},
updateDomainApplication(domainApplicationId, request) {
return __awaiter(this, void 0, void 0, function* () {
return self.putRequest(`/api/relay/rest/domain_applications/${domainApplicationId}`, request, modelConverters_1.convertUpdateDomainApplicationRequestToJSON, modelConverters_1.convertJSONToDomainApplication);
});
},
createDomainApplication(request) {
return __awaiter(this, void 0, void 0, function* () {
return self.postRequest('/api/relay/rest/domain_applications', request, (request) => ({
name: request.name,
identifier: request.identifier,
ip_auth_enabled: request.ipAuthEnabled,
ip_auth: request.ipAuth,
encryption: request.encryption,
codecs: request.codecs,
ciphers: request.ciphers
}), modelConverters_1.convertJSONToDomainApplication);
});
},
deleteDomainApplication(domainApplicationId) {
return __awaiter(this, void 0, void 0, function* () {
return self.deleteRequest(`/api/relay/rest/domain_applications/${domainApplicationId}`);
});
}
},
numberGroups: {
listAllNumberGroups() {
return self.getRequestIterator('/api/relay/rest/number_groups', (item) => ({
id: item.id,
name: item.name,
stickySender: item.sticky_sender,
phoneNumberCount: item.phone_number_count
}));
},
listAllNumberGroupsPage(url) {
return __awaiter(this, void 0, void 0, function* () {
return self.getRequestPage(`/api/relay/rest/number_groups`, (item) => ({
id: item.id,
name: item.name,
stickySender: item.sticky_sender,
phoneNumberCount: item.phone_number_count
}), url);
});
},
retrieveNumberGroup(id) {
return __awaiter(this, void 0, void 0, function* () {
return self.getRequest(`/api/relay/rest/number_groups/${id}`, (json) => ({
id: json.id,
name: json.name,
stickySender: json.sticky_sender,
phoneNumberCount: json.phone_number_count
}));
});
},
updateNumberGroup(id, request) {
return __awaiter(this, void 0, void 0, function* () {
return self.putRequest(`/api/relay/rest/number_groups/${id}`, request, (request) => ({
name: request.name,
}), (json) => ({
id: json.id,
name: json.name,
stickySender: json.sticky_sender,
phoneNumberCount: json.phone_number_count
}));
});
},
createNumberGroup(request) {
return __awaiter(this, void 0, void 0, function* () {
return self.postRequest('/api/relay/rest/number_groups', request, (request) => ({
name: request.name,
sticky_sender: request.stickySender
}), (json) => ({
id: json.id,
name: json.name,
stickySender: json.sticky_sender,
phoneNumberCount: json.phone_number_count
}));
});
},
deleteNum