UNPKG

@ringer-tel/ivy

Version:
377 lines (314 loc) 15.2 kB
/* 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 { ExtensionComponentsSchemasError, ExtensionListResponse, ExtensionRequest, ExtensionResponse, IndexComponentsSchemasError2, TransferComponentsSchemasError, TransferSiteExtensionRequest, } from '../models/index'; import { ExtensionComponentsSchemasErrorFromJSON, ExtensionComponentsSchemasErrorToJSON, ExtensionListResponseFromJSON, ExtensionListResponseToJSON, ExtensionRequestFromJSON, ExtensionRequestToJSON, ExtensionResponseFromJSON, ExtensionResponseToJSON, IndexComponentsSchemasError2FromJSON, IndexComponentsSchemasError2ToJSON, TransferComponentsSchemasErrorFromJSON, TransferComponentsSchemasErrorToJSON, TransferSiteExtensionRequestFromJSON, TransferSiteExtensionRequestToJSON, } from '../models/index'; export interface CreateSiteExtensionRequest { siteId: number; extensionRequest: ExtensionRequest; } export interface DeleteSiteExtensionByIdRequest { siteId: number; id: number; } export interface GetSiteExtensionByIdRequest { siteId: number; id: number; } export interface ListSiteExtensionsRequest { siteId: number; } export interface TransferSiteExtensionOperationRequest { siteId: number; id: number; transferSiteExtensionRequest: TransferSiteExtensionRequest; } export interface UpdateSiteExtensionByIdRequest { siteId: number; id: number; extensionRequest: ExtensionRequest; } /** * */ export class SiteFeaturesExtensionsApi extends runtime.BaseAPI { /** * Add a new extension to the specified site. * Create Extension for a Site */ async createSiteExtensionRaw(requestParameters: CreateSiteExtensionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ExtensionResponse>> { if (requestParameters['siteId'] == null) { throw new runtime.RequiredError( 'siteId', 'Required parameter "siteId" was null or undefined when calling createSiteExtension().' ); } if (requestParameters['extensionRequest'] == null) { throw new runtime.RequiredError( 'extensionRequest', 'Required parameter "extensionRequest" was null or undefined when calling createSiteExtension().' ); } 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}/extensions`.replace(`{${"site_id"}}`, encodeURIComponent(String(requestParameters['siteId']))), method: 'POST', headers: headerParameters, query: queryParameters, body: ExtensionRequestToJSON(requestParameters['extensionRequest']), }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => ExtensionResponseFromJSON(jsonValue)); } /** * Add a new extension to the specified site. * Create Extension for a Site */ async createSiteExtension(requestParameters: CreateSiteExtensionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ExtensionResponse> { const response = await this.createSiteExtensionRaw(requestParameters, initOverrides); return await response.value(); } /** * Permanently deletes a specific extension from the site. * Delete an Extension */ async deleteSiteExtensionByIdRaw(requestParameters: DeleteSiteExtensionByIdRequest, 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 deleteSiteExtensionById().' ); } if (requestParameters['id'] == null) { throw new runtime.RequiredError( 'id', 'Required parameter "id" was null or undefined when calling deleteSiteExtensionById().' ); } 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}/extensions/{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 specific extension from the site. * Delete an Extension */ async deleteSiteExtensionById(requestParameters: DeleteSiteExtensionByIdRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void> { await this.deleteSiteExtensionByIdRaw(requestParameters, initOverrides); } /** * Retrieves detailed information for a specific extension by its ID, belonging to the specified site. * Get Extension Details */ async getSiteExtensionByIdRaw(requestParameters: GetSiteExtensionByIdRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ExtensionResponse>> { if (requestParameters['siteId'] == null) { throw new runtime.RequiredError( 'siteId', 'Required parameter "siteId" was null or undefined when calling getSiteExtensionById().' ); } if (requestParameters['id'] == null) { throw new runtime.RequiredError( 'id', 'Required parameter "id" was null or undefined when calling getSiteExtensionById().' ); } 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}/extensions/{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) => ExtensionResponseFromJSON(jsonValue)); } /** * Retrieves detailed information for a specific extension by its ID, belonging to the specified site. * Get Extension Details */ async getSiteExtensionById(requestParameters: GetSiteExtensionByIdRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ExtensionResponse> { const response = await this.getSiteExtensionByIdRaw(requestParameters, initOverrides); return await response.value(); } /** * Retrieve a paginated list of all extensions that belong to a site. * List Extensions for a Site */ async listSiteExtensionsRaw(requestParameters: ListSiteExtensionsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ExtensionListResponse>> { if (requestParameters['siteId'] == null) { throw new runtime.RequiredError( 'siteId', 'Required parameter "siteId" was null or undefined when calling listSiteExtensions().' ); } 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}/extensions`.replace(`{${"site_id"}}`, encodeURIComponent(String(requestParameters['siteId']))), method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => ExtensionListResponseFromJSON(jsonValue)); } /** * Retrieve a paginated list of all extensions that belong to a site. * List Extensions for a Site */ async listSiteExtensions(requestParameters: ListSiteExtensionsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ExtensionListResponse> { const response = await this.listSiteExtensionsRaw(requestParameters, initOverrides); return await response.value(); } /** * Moves an extension from its current site to a new target site. * Transfer Extension to Another Site */ async transferSiteExtensionRaw(requestParameters: TransferSiteExtensionOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ExtensionResponse>> { if (requestParameters['siteId'] == null) { throw new runtime.RequiredError( 'siteId', 'Required parameter "siteId" was null or undefined when calling transferSiteExtension().' ); } if (requestParameters['id'] == null) { throw new runtime.RequiredError( 'id', 'Required parameter "id" was null or undefined when calling transferSiteExtension().' ); } if (requestParameters['transferSiteExtensionRequest'] == null) { throw new runtime.RequiredError( 'transferSiteExtensionRequest', 'Required parameter "transferSiteExtensionRequest" was null or undefined when calling transferSiteExtension().' ); } 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}/extensions/{id}/transfer`.replace(`{${"site_id"}}`, encodeURIComponent(String(requestParameters['siteId']))).replace(`{${"id"}}`, encodeURIComponent(String(requestParameters['id']))), method: 'POST', headers: headerParameters, query: queryParameters, body: TransferSiteExtensionRequestToJSON(requestParameters['transferSiteExtensionRequest']), }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => ExtensionResponseFromJSON(jsonValue)); } /** * Moves an extension from its current site to a new target site. * Transfer Extension to Another Site */ async transferSiteExtension(requestParameters: TransferSiteExtensionOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ExtensionResponse> { const response = await this.transferSiteExtensionRaw(requestParameters, initOverrides); return await response.value(); } /** * Updates the configuration for a specific extension on a site, such as its name, number, or call routing destination. * Update Extension Configuration */ async updateSiteExtensionByIdRaw(requestParameters: UpdateSiteExtensionByIdRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ExtensionResponse>> { if (requestParameters['siteId'] == null) { throw new runtime.RequiredError( 'siteId', 'Required parameter "siteId" was null or undefined when calling updateSiteExtensionById().' ); } if (requestParameters['id'] == null) { throw new runtime.RequiredError( 'id', 'Required parameter "id" was null or undefined when calling updateSiteExtensionById().' ); } if (requestParameters['extensionRequest'] == null) { throw new runtime.RequiredError( 'extensionRequest', 'Required parameter "extensionRequest" was null or undefined when calling updateSiteExtensionById().' ); } 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}/extensions/{id}`.replace(`{${"site_id"}}`, encodeURIComponent(String(requestParameters['siteId']))).replace(`{${"id"}}`, encodeURIComponent(String(requestParameters['id']))), method: 'PUT', headers: headerParameters, query: queryParameters, body: ExtensionRequestToJSON(requestParameters['extensionRequest']), }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => ExtensionResponseFromJSON(jsonValue)); } /** * Updates the configuration for a specific extension on a site, such as its name, number, or call routing destination. * Update Extension Configuration */ async updateSiteExtensionById(requestParameters: UpdateSiteExtensionByIdRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ExtensionResponse> { const response = await this.updateSiteExtensionByIdRaw(requestParameters, initOverrides); return await response.value(); } }