UNPKG

@sirhc77/signalwire-rest-sdk

Version:
866 lines 153 kB
"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