@ringer-tel/ivy
Version:
TypeScript SDK for Ringer APIs
127 lines (105 loc) • 4.51 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 {
PackageResponse,
PackagesComponentsSchemasError,
PaginatedPackageListResponse,
} from '../models/index';
import {
PackageResponseFromJSON,
PackageResponseToJSON,
PackagesComponentsSchemasErrorFromJSON,
PackagesComponentsSchemasErrorToJSON,
PaginatedPackageListResponseFromJSON,
PaginatedPackageListResponseToJSON,
} from '../models/index';
export interface GetPackageByIdRequest {
id: number;
}
export interface ListPackagesRequest {
page?: number;
pageSize?: number;
}
/**
*
*/
export class PackagesApi extends runtime.BaseAPI {
/**
* Retrieves detailed information for a specific package by its ID.
* Get Package Details
*/
async getPackageByIdRaw(requestParameters: GetPackageByIdRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<PackageResponse>> {
if (requestParameters['id'] == null) {
throw new runtime.RequiredError(
'id',
'Required parameter "id" was null or undefined when calling getPackageById().'
);
}
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: `/packages/{id}`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters['id']))),
method: 'GET',
headers: headerParameters,
query: queryParameters,
}, initOverrides);
return new runtime.JSONApiResponse(response, (jsonValue) => PackageResponseFromJSON(jsonValue));
}
/**
* Retrieves detailed information for a specific package by its ID.
* Get Package Details
*/
async getPackageById(requestParameters: GetPackageByIdRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<PackageResponse> {
const response = await this.getPackageByIdRaw(requestParameters, initOverrides);
return await response.value();
}
/**
* Retrieve a list of all available packages, potentially with pagination.
* List Packages
*/
async listPackagesRaw(requestParameters: ListPackagesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<PaginatedPackageListResponse>> {
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: `/packages`,
method: 'GET',
headers: headerParameters,
query: queryParameters,
}, initOverrides);
return new runtime.JSONApiResponse(response, (jsonValue) => PaginatedPackageListResponseFromJSON(jsonValue));
}
/**
* Retrieve a list of all available packages, potentially with pagination.
* List Packages
*/
async listPackages(requestParameters: ListPackagesRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<PaginatedPackageListResponse> {
const response = await this.listPackagesRaw(requestParameters, initOverrides);
return await response.value();
}
}