UNPKG

@ringer-tel/ivy

Version:
452 lines (376 loc) 17.8 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 { AvailableComponentsSchemasError, PaginatedScheduleListResponse, ScheduleComponentsSchemasError, ScheduleCreateRequest, ScheduleResponse, ScheduleUpdateRequest, TransferComponentsSchemasError2, } from '../models/index'; import { AvailableComponentsSchemasErrorFromJSON, AvailableComponentsSchemasErrorToJSON, PaginatedScheduleListResponseFromJSON, PaginatedScheduleListResponseToJSON, ScheduleComponentsSchemasErrorFromJSON, ScheduleComponentsSchemasErrorToJSON, ScheduleCreateRequestFromJSON, ScheduleCreateRequestToJSON, ScheduleResponseFromJSON, ScheduleResponseToJSON, ScheduleUpdateRequestFromJSON, ScheduleUpdateRequestToJSON, TransferComponentsSchemasError2FromJSON, TransferComponentsSchemasError2ToJSON, } from '../models/index'; export interface CreateSiteScheduleRequest { siteId: number; scheduleCreateRequest: ScheduleCreateRequest; } export interface DeleteSiteScheduleByIdRequest { siteId: number; id: number; } export interface GetSiteScheduleByIdRequest { siteId: number; id: number; } export interface ListSiteAvailableSchedulesRequest { siteId: number; userId?: number; } export interface ListSiteSchedulesRequest { siteId: number; page?: number; pageSize?: number; } export interface TransferSiteScheduleRequest { siteId: number; id: number; newSiteId: number; } export interface UpdateSiteScheduleByIdRequest { siteId: number; id: number; scheduleUpdateRequest: ScheduleUpdateRequest; } /** * */ export class SiteFeaturesSchedulesApi extends runtime.BaseAPI { /** * Add a new schedule to the specified site. * Create Schedule for a Site */ async createSiteScheduleRaw(requestParameters: CreateSiteScheduleRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ScheduleResponse>> { if (requestParameters['siteId'] == null) { throw new runtime.RequiredError( 'siteId', 'Required parameter "siteId" was null or undefined when calling createSiteSchedule().' ); } if (requestParameters['scheduleCreateRequest'] == null) { throw new runtime.RequiredError( 'scheduleCreateRequest', 'Required parameter "scheduleCreateRequest" was null or undefined when calling createSiteSchedule().' ); } 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}/schedules`.replace(`{${"site_id"}}`, encodeURIComponent(String(requestParameters['siteId']))), method: 'POST', headers: headerParameters, query: queryParameters, body: ScheduleCreateRequestToJSON(requestParameters['scheduleCreateRequest']), }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => ScheduleResponseFromJSON(jsonValue)); } /** * Add a new schedule to the specified site. * Create Schedule for a Site */ async createSiteSchedule(requestParameters: CreateSiteScheduleRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ScheduleResponse> { const response = await this.createSiteScheduleRaw(requestParameters, initOverrides); return await response.value(); } /** * Permanently deletes a Schedule. * Delete a Schedule */ async deleteSiteScheduleByIdRaw(requestParameters: DeleteSiteScheduleByIdRequest, 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 deleteSiteScheduleById().' ); } if (requestParameters['id'] == null) { throw new runtime.RequiredError( 'id', 'Required parameter "id" was null or undefined when calling deleteSiteScheduleById().' ); } 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}/schedules/{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 Schedule. * Delete a Schedule */ async deleteSiteScheduleById(requestParameters: DeleteSiteScheduleByIdRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void> { await this.deleteSiteScheduleByIdRaw(requestParameters, initOverrides); } /** * Retrieves the details of a specific Schedule. * Get Schedule Details */ async getSiteScheduleByIdRaw(requestParameters: GetSiteScheduleByIdRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ScheduleResponse>> { if (requestParameters['siteId'] == null) { throw new runtime.RequiredError( 'siteId', 'Required parameter "siteId" was null or undefined when calling getSiteScheduleById().' ); } if (requestParameters['id'] == null) { throw new runtime.RequiredError( 'id', 'Required parameter "id" was null or undefined when calling getSiteScheduleById().' ); } 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}/schedules/{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) => ScheduleResponseFromJSON(jsonValue)); } /** * Retrieves the details of a specific Schedule. * Get Schedule Details */ async getSiteScheduleById(requestParameters: GetSiteScheduleByIdRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ScheduleResponse> { const response = await this.getSiteScheduleByIdRaw(requestParameters, initOverrides); return await response.value(); } /** * Retrieves available and (if applicable) assigned Schedules that could be used by the Site or a User on the Site. * List Available Schedules for a Site */ async listSiteAvailableSchedulesRaw(requestParameters: ListSiteAvailableSchedulesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<PaginatedScheduleListResponse>> { if (requestParameters['siteId'] == null) { throw new runtime.RequiredError( 'siteId', 'Required parameter "siteId" was null or undefined when calling listSiteAvailableSchedules().' ); } const queryParameters: any = {}; if (requestParameters['userId'] != null) { queryParameters['userId'] = requestParameters['userId']; } 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}/schedules/available`.replace(`{${"site_id"}}`, encodeURIComponent(String(requestParameters['siteId']))), method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => PaginatedScheduleListResponseFromJSON(jsonValue)); } /** * Retrieves available and (if applicable) assigned Schedules that could be used by the Site or a User on the Site. * List Available Schedules for a Site */ async listSiteAvailableSchedules(requestParameters: ListSiteAvailableSchedulesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<PaginatedScheduleListResponse> { const response = await this.listSiteAvailableSchedulesRaw(requestParameters, initOverrides); return await response.value(); } /** * Retrieve a paginated list of all schedules that belong to a site. * List Schedules for a Site */ async listSiteSchedulesRaw(requestParameters: ListSiteSchedulesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<PaginatedScheduleListResponse>> { if (requestParameters['siteId'] == null) { throw new runtime.RequiredError( 'siteId', 'Required parameter "siteId" was null or undefined when calling listSiteSchedules().' ); } 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}/schedules`.replace(`{${"site_id"}}`, encodeURIComponent(String(requestParameters['siteId']))), method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => PaginatedScheduleListResponseFromJSON(jsonValue)); } /** * Retrieve a paginated list of all schedules that belong to a site. * List Schedules for a Site */ async listSiteSchedules(requestParameters: ListSiteSchedulesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<PaginatedScheduleListResponse> { const response = await this.listSiteSchedulesRaw(requestParameters, initOverrides); return await response.value(); } /** * Moves a schedule from its current site to a new target site. * Transfer Schedule to Another Site */ async transferSiteScheduleRaw(requestParameters: TransferSiteScheduleRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ScheduleResponse>> { if (requestParameters['siteId'] == null) { throw new runtime.RequiredError( 'siteId', 'Required parameter "siteId" was null or undefined when calling transferSiteSchedule().' ); } if (requestParameters['id'] == null) { throw new runtime.RequiredError( 'id', 'Required parameter "id" was null or undefined when calling transferSiteSchedule().' ); } if (requestParameters['newSiteId'] == null) { throw new runtime.RequiredError( 'newSiteId', 'Required parameter "newSiteId" was null or undefined when calling transferSiteSchedule().' ); } const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; if (this.configuration && this.configuration.accessToken) { // oauth required headerParameters["Authorization"] = await this.configuration.accessToken("oAuth2", []); } const consumes: runtime.Consume[] = [ { contentType: 'application/x-www-form-urlencoded' }, ]; // @ts-ignore: canConsumeForm may be unused const canConsumeForm = runtime.canConsumeForm(consumes); let formParams: { append(param: string, value: any): any }; let useForm = false; if (useForm) { formParams = new FormData(); } else { formParams = new URLSearchParams(); } if (requestParameters['newSiteId'] != null) { formParams.append('new_site_id', requestParameters['newSiteId'] as any); } const response = await this.request({ path: `/sites/{site_id}/schedules/{id}/transfer`.replace(`{${"site_id"}}`, encodeURIComponent(String(requestParameters['siteId']))).replace(`{${"id"}}`, encodeURIComponent(String(requestParameters['id']))), method: 'POST', headers: headerParameters, query: queryParameters, body: formParams, }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => ScheduleResponseFromJSON(jsonValue)); } /** * Moves a schedule from its current site to a new target site. * Transfer Schedule to Another Site */ async transferSiteSchedule(requestParameters: TransferSiteScheduleRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ScheduleResponse> { const response = await this.transferSiteScheduleRaw(requestParameters, initOverrides); return await response.value(); } /** * Updates an existing Schedule. Provide only the fields to be changed. * Update Schedule */ async updateSiteScheduleByIdRaw(requestParameters: UpdateSiteScheduleByIdRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ScheduleResponse>> { if (requestParameters['siteId'] == null) { throw new runtime.RequiredError( 'siteId', 'Required parameter "siteId" was null or undefined when calling updateSiteScheduleById().' ); } if (requestParameters['id'] == null) { throw new runtime.RequiredError( 'id', 'Required parameter "id" was null or undefined when calling updateSiteScheduleById().' ); } if (requestParameters['scheduleUpdateRequest'] == null) { throw new runtime.RequiredError( 'scheduleUpdateRequest', 'Required parameter "scheduleUpdateRequest" was null or undefined when calling updateSiteScheduleById().' ); } 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}/schedules/{id}`.replace(`{${"site_id"}}`, encodeURIComponent(String(requestParameters['siteId']))).replace(`{${"id"}}`, encodeURIComponent(String(requestParameters['id']))), method: 'PUT', headers: headerParameters, query: queryParameters, body: ScheduleUpdateRequestToJSON(requestParameters['scheduleUpdateRequest']), }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => ScheduleResponseFromJSON(jsonValue)); } /** * Updates an existing Schedule. Provide only the fields to be changed. * Update Schedule */ async updateSiteScheduleById(requestParameters: UpdateSiteScheduleByIdRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ScheduleResponse> { const response = await this.updateSiteScheduleByIdRaw(requestParameters, initOverrides); return await response.value(); } }