@ringer-tel/ivy
Version:
TypeScript SDK for Ringer APIs
483 lines (401 loc) • 19.8 kB
text/typescript
/* tslint:disable */
/* eslint-disable */
/**
* Ringer Business API
* This API provides comprehensive endpoints for the Ringer Business system. It includes functionality for managing customer accounts, addresses, sites, phone numbers, payments, users, and other business resources. Operations typically require authentication and appropriate permissions.
*
* The version of the OpenAPI document: 1.0.6
* Contact: support@ringer.tel
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
import * as runtime from '../runtime';
import type {
PaginatedSipTrunkListResponse,
SipTrunkCreateRequest,
SipTrunkResponse,
SipTrunkResponseWithPassword,
SipTrunkStatus,
SipTrunkUpdateRequest,
TransferSipTrunkRequest,
} from '../models/index';
import {
PaginatedSipTrunkListResponseFromJSON,
PaginatedSipTrunkListResponseToJSON,
SipTrunkCreateRequestFromJSON,
SipTrunkCreateRequestToJSON,
SipTrunkResponseFromJSON,
SipTrunkResponseToJSON,
SipTrunkResponseWithPasswordFromJSON,
SipTrunkResponseWithPasswordToJSON,
SipTrunkStatusFromJSON,
SipTrunkStatusToJSON,
SipTrunkUpdateRequestFromJSON,
SipTrunkUpdateRequestToJSON,
TransferSipTrunkRequestFromJSON,
TransferSipTrunkRequestToJSON,
} from '../models/index';
export interface CreateSiteSipTrunkRequest {
siteId: number;
sipTrunkCreateRequest: SipTrunkCreateRequest;
}
export interface DeleteSiteSipTrunkByIdRequest {
siteId: number;
id: number;
}
export interface GetSiteSipTrunkByIdRequest {
siteId: number;
id: number;
}
export interface GetSiteSipTrunkStatusesRequest {
siteId: number;
}
export interface ListSiteSipTrunksRequest {
siteId: number;
page?: number;
pageSize?: number;
}
export interface RegenerateSiteSipTrunkPasswordRequest {
siteId: number;
id: number;
}
export interface TransferSipTrunkOperationRequest {
siteId: number;
id: number;
transferSipTrunkRequest: TransferSipTrunkRequest;
}
export interface UpdateSiteSipTrunkByIdRequest {
siteId: number;
id: number;
sipTrunkUpdateRequest: SipTrunkUpdateRequest;
}
/**
*
*/
export class SiteFeaturesSIPTrunksApi extends runtime.BaseAPI {
/**
* Adds a new SIP Trunk to the specified site. Login and password will be generated if not provided.
* Create SIP Trunk for a Site
*/
async createSiteSipTrunkRaw(requestParameters: CreateSiteSipTrunkRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SipTrunkResponse>> {
if (requestParameters['siteId'] == null) {
throw new runtime.RequiredError(
'siteId',
'Required parameter "siteId" was null or undefined when calling createSiteSipTrunk().'
);
}
if (requestParameters['sipTrunkCreateRequest'] == null) {
throw new runtime.RequiredError(
'sipTrunkCreateRequest',
'Required parameter "sipTrunkCreateRequest" was null or undefined when calling createSiteSipTrunk().'
);
}
const queryParameters: any = {};
const headerParameters: runtime.HTTPHeaders = {};
headerParameters['Content-Type'] = 'application/json';
if (this.configuration && this.configuration.accessToken) {
// oauth required
headerParameters["Authorization"] = await this.configuration.accessToken("oAuth2", []);
}
const response = await this.request({
path: `/sites/{site_id}/sip-trunks`.replace(`{${"site_id"}}`, encodeURIComponent(String(requestParameters['siteId']))),
method: 'POST',
headers: headerParameters,
query: queryParameters,
body: SipTrunkCreateRequestToJSON(requestParameters['sipTrunkCreateRequest']),
}, initOverrides);
return new runtime.JSONApiResponse(response, (jsonValue) => SipTrunkResponseFromJSON(jsonValue));
}
/**
* Adds a new SIP Trunk to the specified site. Login and password will be generated if not provided.
* Create SIP Trunk for a Site
*/
async createSiteSipTrunk(requestParameters: CreateSiteSipTrunkRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SipTrunkResponse> {
const response = await this.createSiteSipTrunkRaw(requestParameters, initOverrides);
return await response.value();
}
/**
* Permanently deletes a SIP Trunk.
* Delete a SIP Trunk
*/
async deleteSiteSipTrunkByIdRaw(requestParameters: DeleteSiteSipTrunkByIdRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
if (requestParameters['siteId'] == null) {
throw new runtime.RequiredError(
'siteId',
'Required parameter "siteId" was null or undefined when calling deleteSiteSipTrunkById().'
);
}
if (requestParameters['id'] == null) {
throw new runtime.RequiredError(
'id',
'Required parameter "id" was null or undefined when calling deleteSiteSipTrunkById().'
);
}
const queryParameters: any = {};
const headerParameters: runtime.HTTPHeaders = {};
if (this.configuration && this.configuration.accessToken) {
// oauth required
headerParameters["Authorization"] = await this.configuration.accessToken("oAuth2", []);
}
const response = await this.request({
path: `/sites/{site_id}/sip-trunks/{id}`.replace(`{${"site_id"}}`, encodeURIComponent(String(requestParameters['siteId']))).replace(`{${"id"}}`, encodeURIComponent(String(requestParameters['id']))),
method: 'DELETE',
headers: headerParameters,
query: queryParameters,
}, initOverrides);
return new runtime.VoidApiResponse(response);
}
/**
* Permanently deletes a SIP Trunk.
* Delete a SIP Trunk
*/
async deleteSiteSipTrunkById(requestParameters: DeleteSiteSipTrunkByIdRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void> {
await this.deleteSiteSipTrunkByIdRaw(requestParameters, initOverrides);
}
/**
* Retrieves the details of a specific SIP Trunk.
* Get SIP Trunk Details
*/
async getSiteSipTrunkByIdRaw(requestParameters: GetSiteSipTrunkByIdRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SipTrunkResponse>> {
if (requestParameters['siteId'] == null) {
throw new runtime.RequiredError(
'siteId',
'Required parameter "siteId" was null or undefined when calling getSiteSipTrunkById().'
);
}
if (requestParameters['id'] == null) {
throw new runtime.RequiredError(
'id',
'Required parameter "id" was null or undefined when calling getSiteSipTrunkById().'
);
}
const queryParameters: any = {};
const headerParameters: runtime.HTTPHeaders = {};
if (this.configuration && this.configuration.accessToken) {
// oauth required
headerParameters["Authorization"] = await this.configuration.accessToken("oAuth2", []);
}
const response = await this.request({
path: `/sites/{site_id}/sip-trunks/{id}`.replace(`{${"site_id"}}`, encodeURIComponent(String(requestParameters['siteId']))).replace(`{${"id"}}`, encodeURIComponent(String(requestParameters['id']))),
method: 'GET',
headers: headerParameters,
query: queryParameters,
}, initOverrides);
return new runtime.JSONApiResponse(response, (jsonValue) => SipTrunkResponseFromJSON(jsonValue));
}
/**
* Retrieves the details of a specific SIP Trunk.
* Get SIP Trunk Details
*/
async getSiteSipTrunkById(requestParameters: GetSiteSipTrunkByIdRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SipTrunkResponse> {
const response = await this.getSiteSipTrunkByIdRaw(requestParameters, initOverrides);
return await response.value();
}
/**
* Retrieve the registration status for all SIP Trunks configured on the specified site.
* List SIP Trunk Registration Statuses
*/
async getSiteSipTrunkStatusesRaw(requestParameters: GetSiteSipTrunkStatusesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SipTrunkStatus>> {
if (requestParameters['siteId'] == null) {
throw new runtime.RequiredError(
'siteId',
'Required parameter "siteId" was null or undefined when calling getSiteSipTrunkStatuses().'
);
}
const queryParameters: any = {};
const headerParameters: runtime.HTTPHeaders = {};
if (this.configuration && this.configuration.accessToken) {
// oauth required
headerParameters["Authorization"] = await this.configuration.accessToken("oAuth2", []);
}
const response = await this.request({
path: `/sites/{site_id}/sip-trunks/status`.replace(`{${"site_id"}}`, encodeURIComponent(String(requestParameters['siteId']))),
method: 'GET',
headers: headerParameters,
query: queryParameters,
}, initOverrides);
return new runtime.JSONApiResponse(response, (jsonValue) => SipTrunkStatusFromJSON(jsonValue));
}
/**
* Retrieve the registration status for all SIP Trunks configured on the specified site.
* List SIP Trunk Registration Statuses
*/
async getSiteSipTrunkStatuses(requestParameters: GetSiteSipTrunkStatusesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SipTrunkStatus> {
const response = await this.getSiteSipTrunkStatusesRaw(requestParameters, initOverrides);
return await response.value();
}
/**
* Retrieve a paginated list of all SIP Trunks configured for the specified site.
* List SIP Trunks for a Site
*/
async listSiteSipTrunksRaw(requestParameters: ListSiteSipTrunksRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<PaginatedSipTrunkListResponse>> {
if (requestParameters['siteId'] == null) {
throw new runtime.RequiredError(
'siteId',
'Required parameter "siteId" was null or undefined when calling listSiteSipTrunks().'
);
}
const queryParameters: any = {};
if (requestParameters['page'] != null) {
queryParameters['page'] = requestParameters['page'];
}
if (requestParameters['pageSize'] != null) {
queryParameters['page_size'] = requestParameters['pageSize'];
}
const headerParameters: runtime.HTTPHeaders = {};
if (this.configuration && this.configuration.accessToken) {
// oauth required
headerParameters["Authorization"] = await this.configuration.accessToken("oAuth2", []);
}
const response = await this.request({
path: `/sites/{site_id}/sip-trunks`.replace(`{${"site_id"}}`, encodeURIComponent(String(requestParameters['siteId']))),
method: 'GET',
headers: headerParameters,
query: queryParameters,
}, initOverrides);
return new runtime.JSONApiResponse(response, (jsonValue) => PaginatedSipTrunkListResponseFromJSON(jsonValue));
}
/**
* Retrieve a paginated list of all SIP Trunks configured for the specified site.
* List SIP Trunks for a Site
*/
async listSiteSipTrunks(requestParameters: ListSiteSipTrunksRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<PaginatedSipTrunkListResponse> {
const response = await this.listSiteSipTrunksRaw(requestParameters, initOverrides);
return await response.value();
}
/**
* Generates a new random SIP password for the specified SIP Trunk. The old password will no longer be valid. The SIP Trunk endpoint will need to be updated. The new password is included in the response.
* Regenerate SIP Trunk Password
*/
async regenerateSiteSipTrunkPasswordRaw(requestParameters: RegenerateSiteSipTrunkPasswordRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SipTrunkResponseWithPassword>> {
if (requestParameters['siteId'] == null) {
throw new runtime.RequiredError(
'siteId',
'Required parameter "siteId" was null or undefined when calling regenerateSiteSipTrunkPassword().'
);
}
if (requestParameters['id'] == null) {
throw new runtime.RequiredError(
'id',
'Required parameter "id" was null or undefined when calling regenerateSiteSipTrunkPassword().'
);
}
const queryParameters: any = {};
const headerParameters: runtime.HTTPHeaders = {};
if (this.configuration && this.configuration.accessToken) {
// oauth required
headerParameters["Authorization"] = await this.configuration.accessToken("oAuth2", []);
}
const response = await this.request({
path: `/sites/{site_id}/sip-trunks/{id}/regenerate-password`.replace(`{${"site_id"}}`, encodeURIComponent(String(requestParameters['siteId']))).replace(`{${"id"}}`, encodeURIComponent(String(requestParameters['id']))),
method: 'PATCH',
headers: headerParameters,
query: queryParameters,
}, initOverrides);
return new runtime.JSONApiResponse(response, (jsonValue) => SipTrunkResponseWithPasswordFromJSON(jsonValue));
}
/**
* Generates a new random SIP password for the specified SIP Trunk. The old password will no longer be valid. The SIP Trunk endpoint will need to be updated. The new password is included in the response.
* Regenerate SIP Trunk Password
*/
async regenerateSiteSipTrunkPassword(requestParameters: RegenerateSiteSipTrunkPasswordRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SipTrunkResponseWithPassword> {
const response = await this.regenerateSiteSipTrunkPasswordRaw(requestParameters, initOverrides);
return await response.value();
}
/**
* Transfer a SIP Trunk to a different Site
* Transfer SIP Trunk
*/
async transferSipTrunkRaw(requestParameters: TransferSipTrunkOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SipTrunkResponse>> {
if (requestParameters['siteId'] == null) {
throw new runtime.RequiredError(
'siteId',
'Required parameter "siteId" was null or undefined when calling transferSipTrunk().'
);
}
if (requestParameters['id'] == null) {
throw new runtime.RequiredError(
'id',
'Required parameter "id" was null or undefined when calling transferSipTrunk().'
);
}
if (requestParameters['transferSipTrunkRequest'] == null) {
throw new runtime.RequiredError(
'transferSipTrunkRequest',
'Required parameter "transferSipTrunkRequest" was null or undefined when calling transferSipTrunk().'
);
}
const queryParameters: any = {};
const headerParameters: runtime.HTTPHeaders = {};
headerParameters['Content-Type'] = 'application/json';
if (this.configuration && this.configuration.accessToken) {
// oauth required
headerParameters["Authorization"] = await this.configuration.accessToken("oAuth2", []);
}
const response = await this.request({
path: `/sites/{site_id}/sip-trunks/{id}/transfer`.replace(`{${"site_id"}}`, encodeURIComponent(String(requestParameters['siteId']))).replace(`{${"id"}}`, encodeURIComponent(String(requestParameters['id']))),
method: 'POST',
headers: headerParameters,
query: queryParameters,
body: TransferSipTrunkRequestToJSON(requestParameters['transferSipTrunkRequest']),
}, initOverrides);
return new runtime.JSONApiResponse(response, (jsonValue) => SipTrunkResponseFromJSON(jsonValue));
}
/**
* Transfer a SIP Trunk to a different Site
* Transfer SIP Trunk
*/
async transferSipTrunk(requestParameters: TransferSipTrunkOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SipTrunkResponse> {
const response = await this.transferSipTrunkRaw(requestParameters, initOverrides);
return await response.value();
}
/**
* Updates an existing SIP Trunk. Only attributes provided in the request body will be updated. Password update should use regenerate-password endpoint.
* Update SIP Trunk
*/
async updateSiteSipTrunkByIdRaw(requestParameters: UpdateSiteSipTrunkByIdRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SipTrunkResponse>> {
if (requestParameters['siteId'] == null) {
throw new runtime.RequiredError(
'siteId',
'Required parameter "siteId" was null or undefined when calling updateSiteSipTrunkById().'
);
}
if (requestParameters['id'] == null) {
throw new runtime.RequiredError(
'id',
'Required parameter "id" was null or undefined when calling updateSiteSipTrunkById().'
);
}
if (requestParameters['sipTrunkUpdateRequest'] == null) {
throw new runtime.RequiredError(
'sipTrunkUpdateRequest',
'Required parameter "sipTrunkUpdateRequest" was null or undefined when calling updateSiteSipTrunkById().'
);
}
const queryParameters: any = {};
const headerParameters: runtime.HTTPHeaders = {};
headerParameters['Content-Type'] = 'application/json';
if (this.configuration && this.configuration.accessToken) {
// oauth required
headerParameters["Authorization"] = await this.configuration.accessToken("oAuth2", []);
}
const response = await this.request({
path: `/sites/{site_id}/sip-trunks/{id}`.replace(`{${"site_id"}}`, encodeURIComponent(String(requestParameters['siteId']))).replace(`{${"id"}}`, encodeURIComponent(String(requestParameters['id']))),
method: 'PUT',
headers: headerParameters,
query: queryParameters,
body: SipTrunkUpdateRequestToJSON(requestParameters['sipTrunkUpdateRequest']),
}, initOverrides);
return new runtime.JSONApiResponse(response, (jsonValue) => SipTrunkResponseFromJSON(jsonValue));
}
/**
* Updates an existing SIP Trunk. Only attributes provided in the request body will be updated. Password update should use regenerate-password endpoint.
* Update SIP Trunk
*/
async updateSiteSipTrunkById(requestParameters: UpdateSiteSipTrunkByIdRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SipTrunkResponse> {
const response = await this.updateSiteSipTrunkByIdRaw(requestParameters, initOverrides);
return await response.value();
}
}