UNPKG

@ringer-tel/ivy

Version:
315 lines (261 loc) 13 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 { LocationCreateRequest, LocationResponse, LocationUpdateRequest, PaginatedLocationListResponse, } from '../models/index'; import { LocationCreateRequestFromJSON, LocationCreateRequestToJSON, LocationResponseFromJSON, LocationResponseToJSON, LocationUpdateRequestFromJSON, LocationUpdateRequestToJSON, PaginatedLocationListResponseFromJSON, PaginatedLocationListResponseToJSON, } from '../models/index'; export interface CreateSiteLocationRequest { siteId: number; locationCreateRequest: LocationCreateRequest; } export interface DeleteSiteLocationByIdRequest { siteId: number; id: number; } export interface GetSiteLocationByIdRequest { siteId: number; id: number; } export interface ListSiteLocationsRequest { siteId: number; page?: number; pageSize?: number; } export interface UpdateSiteLocationByIdRequest { siteId: number; id: number; locationUpdateRequest: LocationUpdateRequest; } /** * */ export class SiteFeaturesLocationsApi extends runtime.BaseAPI { /** * Adds a new physical location to the specified site. This location can then be used for E911 address validation and associating other resources. * Create a Location for a Site */ async createSiteLocationRaw(requestParameters: CreateSiteLocationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<LocationResponse>> { if (requestParameters['siteId'] == null) { throw new runtime.RequiredError( 'siteId', 'Required parameter "siteId" was null or undefined when calling createSiteLocation().' ); } if (requestParameters['locationCreateRequest'] == null) { throw new runtime.RequiredError( 'locationCreateRequest', 'Required parameter "locationCreateRequest" was null or undefined when calling createSiteLocation().' ); } 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}/locations`.replace(`{${"site_id"}}`, encodeURIComponent(String(requestParameters['siteId']))), method: 'POST', headers: headerParameters, query: queryParameters, body: LocationCreateRequestToJSON(requestParameters['locationCreateRequest']), }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => LocationResponseFromJSON(jsonValue)); } /** * Adds a new physical location to the specified site. This location can then be used for E911 address validation and associating other resources. * Create a Location for a Site */ async createSiteLocation(requestParameters: CreateSiteLocationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<LocationResponse> { const response = await this.createSiteLocationRaw(requestParameters, initOverrides); return await response.value(); } /** * Permanently deletes a specific location record from the site. Ensure no devices or critical services (like E911 entries) are solely dependent on this location before deleting. * Delete a Location */ async deleteSiteLocationByIdRaw(requestParameters: DeleteSiteLocationByIdRequest, 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 deleteSiteLocationById().' ); } if (requestParameters['id'] == null) { throw new runtime.RequiredError( 'id', 'Required parameter "id" was null or undefined when calling deleteSiteLocationById().' ); } 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}/locations/{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 location record from the site. Ensure no devices or critical services (like E911 entries) are solely dependent on this location before deleting. * Delete a Location */ async deleteSiteLocationById(requestParameters: DeleteSiteLocationByIdRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void> { await this.deleteSiteLocationByIdRaw(requestParameters, initOverrides); } /** * Retrieves detailed information for a specific location by its ID, belonging to the specified site. * Get Location Details */ async getSiteLocationByIdRaw(requestParameters: GetSiteLocationByIdRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<LocationResponse>> { if (requestParameters['siteId'] == null) { throw new runtime.RequiredError( 'siteId', 'Required parameter "siteId" was null or undefined when calling getSiteLocationById().' ); } if (requestParameters['id'] == null) { throw new runtime.RequiredError( 'id', 'Required parameter "id" was null or undefined when calling getSiteLocationById().' ); } 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}/locations/{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) => LocationResponseFromJSON(jsonValue)); } /** * Retrieves detailed information for a specific location by its ID, belonging to the specified site. * Get Location Details */ async getSiteLocationById(requestParameters: GetSiteLocationByIdRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<LocationResponse> { const response = await this.getSiteLocationByIdRaw(requestParameters, initOverrides); return await response.value(); } /** * Retrieves a paginated list of all physical locations defined for the specified site. * List Locations for a Site */ async listSiteLocationsRaw(requestParameters: ListSiteLocationsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<PaginatedLocationListResponse>> { if (requestParameters['siteId'] == null) { throw new runtime.RequiredError( 'siteId', 'Required parameter "siteId" was null or undefined when calling listSiteLocations().' ); } 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}/locations`.replace(`{${"site_id"}}`, encodeURIComponent(String(requestParameters['siteId']))), method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => PaginatedLocationListResponseFromJSON(jsonValue)); } /** * Retrieves a paginated list of all physical locations defined for the specified site. * List Locations for a Site */ async listSiteLocations(requestParameters: ListSiteLocationsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<PaginatedLocationListResponse> { const response = await this.listSiteLocationsRaw(requestParameters, initOverrides); return await response.value(); } /** * Updates the details of an existing physical location for a site. This can include address components, caller ID name for E911, and E911 enablement status. * Update Location Details */ async updateSiteLocationByIdRaw(requestParameters: UpdateSiteLocationByIdRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<LocationResponse>> { if (requestParameters['siteId'] == null) { throw new runtime.RequiredError( 'siteId', 'Required parameter "siteId" was null or undefined when calling updateSiteLocationById().' ); } if (requestParameters['id'] == null) { throw new runtime.RequiredError( 'id', 'Required parameter "id" was null or undefined when calling updateSiteLocationById().' ); } if (requestParameters['locationUpdateRequest'] == null) { throw new runtime.RequiredError( 'locationUpdateRequest', 'Required parameter "locationUpdateRequest" was null or undefined when calling updateSiteLocationById().' ); } 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}/locations/{id}`.replace(`{${"site_id"}}`, encodeURIComponent(String(requestParameters['siteId']))).replace(`{${"id"}}`, encodeURIComponent(String(requestParameters['id']))), method: 'PUT', headers: headerParameters, query: queryParameters, body: LocationUpdateRequestToJSON(requestParameters['locationUpdateRequest']), }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => LocationResponseFromJSON(jsonValue)); } /** * Updates the details of an existing physical location for a site. This can include address components, caller ID name for E911, and E911 enablement status. * Update Location Details */ async updateSiteLocationById(requestParameters: UpdateSiteLocationByIdRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<LocationResponse> { const response = await this.updateSiteLocationByIdRaw(requestParameters, initOverrides); return await response.value(); } }