cwmsjs
Version:
CWMS Data API Library for JavaScript/TypeScript created with OpenAPI generator for use with browser webapps
279 lines (224 loc) • 10.3 kB
text/typescript
/* tslint:disable */
/* eslint-disable */
/**
* CWMS Data API
* CWMS REST API for Data Retrieval
*
* The version of the OpenAPI document: 2.4.0-2026.3.16
*
*
* 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 {
Basin,
BasinFromJSON,
BasinToJSON,
CdaError,
CdaErrorFromJSON,
CdaErrorToJSON,
DeleteMethod,
DeleteMethodFromJSON,
DeleteMethodToJSON,
} from '../models';
export interface DeleteBasinsWithNameRequest {
name: string;
office: string;
method: DeleteMethod;
}
export interface GetBasinsRequest {
office?: string;
unit?: string;
}
export interface GetBasinsWithNameRequest {
name: string;
office: string;
unit?: string;
}
export interface PatchBasinsWithNameRequest {
name: string;
name2: string;
office: string;
}
/**
*
*/
export class BasinsApi extends runtime.BaseAPI {
/**
* Deletes CWMS Basin
* Delete basins with name
*/
async deleteBasinsWithNameRaw(requestParameters: DeleteBasinsWithNameRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<void>> {
if (requestParameters.name === null || requestParameters.name === undefined) {
throw new runtime.RequiredError('name','Required parameter requestParameters.name was null or undefined when calling deleteBasinsWithName.');
}
if (requestParameters.office === null || requestParameters.office === undefined) {
throw new runtime.RequiredError('office','Required parameter requestParameters.office was null or undefined when calling deleteBasinsWithName.');
}
if (requestParameters.method === null || requestParameters.method === undefined) {
throw new runtime.RequiredError('method','Required parameter requestParameters.method was null or undefined when calling deleteBasinsWithName.');
}
const queryParameters: any = {};
if (requestParameters.office !== undefined) {
queryParameters['office'] = requestParameters.office;
}
if (requestParameters.method !== undefined) {
queryParameters['method'] = requestParameters.method;
}
const headerParameters: runtime.HTTPHeaders = {};
if (this.configuration && this.configuration.apiKey) {
headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKey authentication
}
const response = await this.request({
path: `/basins/{name}`.replace(`{${"name"}}`, encodeURIComponent(String(requestParameters.name))),
method: 'DELETE',
headers: headerParameters,
query: queryParameters,
}, initOverrides);
return new runtime.VoidApiResponse(response);
}
/**
* Deletes CWMS Basin
* Delete basins with name
*/
async deleteBasinsWithName(requestParameters: DeleteBasinsWithNameRequest, initOverrides?: RequestInit): Promise<void> {
await this.deleteBasinsWithNameRaw(requestParameters, initOverrides);
}
/**
* Returns CWMS Basin Data. This endpoint handles multiple accept header types, including named pg json. For more information about accept header usage, <a href=\"legacy-format/\">see this page.</a>
* Get basins
*/
async getBasinsRaw(requestParameters: GetBasinsRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<Basin>> {
const queryParameters: any = {};
if (requestParameters.office !== undefined) {
queryParameters['office'] = requestParameters.office;
}
if (requestParameters.unit !== undefined) {
queryParameters['unit'] = requestParameters.unit;
}
const headerParameters: runtime.HTTPHeaders = {};
if (this.configuration && this.configuration.apiKey) {
headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKey authentication
}
const response = await this.request({
path: `/basins`,
method: 'GET',
headers: headerParameters,
query: queryParameters,
}, initOverrides);
return new runtime.JSONApiResponse(response, (jsonValue) => BasinFromJSON(jsonValue));
}
/**
* Returns CWMS Basin Data. This endpoint handles multiple accept header types, including named pg json. For more information about accept header usage, <a href=\"legacy-format/\">see this page.</a>
* Get basins
*/
async getBasins(requestParameters: GetBasinsRequest = {}, initOverrides?: RequestInit): Promise<Basin> {
const response = await this.getBasinsRaw(requestParameters, initOverrides);
return await response.value();
}
/**
* Returns CWMS Basin Data. This endpoint handles multiple accept header types, including named pg json. For more information about accept header usage, <a href=\"legacy-format/\">see this page.</a>
* Get basins with name
*/
async getBasinsWithNameRaw(requestParameters: GetBasinsWithNameRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<Basin>> {
if (requestParameters.name === null || requestParameters.name === undefined) {
throw new runtime.RequiredError('name','Required parameter requestParameters.name was null or undefined when calling getBasinsWithName.');
}
if (requestParameters.office === null || requestParameters.office === undefined) {
throw new runtime.RequiredError('office','Required parameter requestParameters.office was null or undefined when calling getBasinsWithName.');
}
const queryParameters: any = {};
if (requestParameters.office !== undefined) {
queryParameters['office'] = requestParameters.office;
}
if (requestParameters.unit !== undefined) {
queryParameters['unit'] = requestParameters.unit;
}
const headerParameters: runtime.HTTPHeaders = {};
if (this.configuration && this.configuration.apiKey) {
headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKey authentication
}
const response = await this.request({
path: `/basins/{name}`.replace(`{${"name"}}`, encodeURIComponent(String(requestParameters.name))),
method: 'GET',
headers: headerParameters,
query: queryParameters,
}, initOverrides);
return new runtime.JSONApiResponse(response, (jsonValue) => BasinFromJSON(jsonValue));
}
/**
* Returns CWMS Basin Data. This endpoint handles multiple accept header types, including named pg json. For more information about accept header usage, <a href=\"legacy-format/\">see this page.</a>
* Get basins with name
*/
async getBasinsWithName(requestParameters: GetBasinsWithNameRequest, initOverrides?: RequestInit): Promise<Basin> {
const response = await this.getBasinsWithNameRaw(requestParameters, initOverrides);
return await response.value();
}
/**
* Renames CWMS Basin
* Patch basins with name
*/
async patchBasinsWithNameRaw(requestParameters: PatchBasinsWithNameRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<void>> {
if (requestParameters.name === null || requestParameters.name === undefined) {
throw new runtime.RequiredError('name','Required parameter requestParameters.name was null or undefined when calling patchBasinsWithName.');
}
if (requestParameters.name2 === null || requestParameters.name2 === undefined) {
throw new runtime.RequiredError('name2','Required parameter requestParameters.name2 was null or undefined when calling patchBasinsWithName.');
}
if (requestParameters.office === null || requestParameters.office === undefined) {
throw new runtime.RequiredError('office','Required parameter requestParameters.office was null or undefined when calling patchBasinsWithName.');
}
const queryParameters: any = {};
if (requestParameters.name2 !== undefined) {
queryParameters['name'] = requestParameters.name2;
}
if (requestParameters.office !== undefined) {
queryParameters['office'] = requestParameters.office;
}
const headerParameters: runtime.HTTPHeaders = {};
if (this.configuration && this.configuration.apiKey) {
headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKey authentication
}
const response = await this.request({
path: `/basins/{name}`.replace(`{${"name"}}`, encodeURIComponent(String(requestParameters.name))),
method: 'PATCH',
headers: headerParameters,
query: queryParameters,
}, initOverrides);
return new runtime.VoidApiResponse(response);
}
/**
* Renames CWMS Basin
* Patch basins with name
*/
async patchBasinsWithName(requestParameters: PatchBasinsWithNameRequest, initOverrides?: RequestInit): Promise<void> {
await this.patchBasinsWithNameRaw(requestParameters, initOverrides);
}
/**
* Creates CWMS Basin
* Post basins
*/
async postBasinsRaw(initOverrides?: RequestInit): Promise<runtime.ApiResponse<void>> {
const queryParameters: any = {};
const headerParameters: runtime.HTTPHeaders = {};
if (this.configuration && this.configuration.apiKey) {
headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKey authentication
}
const response = await this.request({
path: `/basins`,
method: 'POST',
headers: headerParameters,
query: queryParameters,
}, initOverrides);
return new runtime.VoidApiResponse(response);
}
/**
* Creates CWMS Basin
* Post basins
*/
async postBasins(initOverrides?: RequestInit): Promise<void> {
await this.postBasinsRaw(initOverrides);
}
}