cwmsjs
Version:
CWMS Data API Library for JavaScript/TypeScript created with OpenAPI generator for use with browser webapps
282 lines (229 loc) • 9.45 kB
text/typescript
/* tslint:disable */
/* eslint-disable */
/**
* CWMS Data API
* CWMS REST API for Data Retrieval
*
* The version of the OpenAPI document: 2.3.2-2025.03.19
*
*
* 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 {
CdaError,
Measurement,
} from '../models/index';
import {
CdaErrorFromJSON,
CdaErrorToJSON,
MeasurementFromJSON,
MeasurementToJSON,
} from '../models/index';
export interface DeleteMeasurementsWithLocationIdRequest {
locationId: string;
office: string;
begin: string;
end: string;
timezone?: string;
minNumber?: string;
maxNumber?: string;
}
export interface GetMeasurementsRequest {
officeMask?: string;
idMask?: string;
minNumber?: string;
maxNumber?: string;
begin?: string;
end?: string;
timezone?: string;
minHeight?: string;
maxHeight?: string;
minFlow?: string;
maxFlow?: string;
agency?: string;
quality?: string;
unitSystem?: string;
}
export interface PostMeasurementsRequest {
measurement: Array<Measurement>;
failIfExists?: boolean;
}
/**
*
*/
export class MeasurementsApi extends runtime.BaseAPI {
/**
* Delete an existing measurement.
* Delete cwmsData measurements with locationId
*/
async deleteMeasurementsWithLocationIdRaw(requestParameters: DeleteMeasurementsWithLocationIdRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
if (requestParameters['locationId'] == null) {
throw new runtime.RequiredError(
'locationId',
'Required parameter "locationId" was null or undefined when calling deleteMeasurementsWithLocationId().'
);
}
if (requestParameters['office'] == null) {
throw new runtime.RequiredError(
'office',
'Required parameter "office" was null or undefined when calling deleteMeasurementsWithLocationId().'
);
}
if (requestParameters['begin'] == null) {
throw new runtime.RequiredError(
'begin',
'Required parameter "begin" was null or undefined when calling deleteMeasurementsWithLocationId().'
);
}
if (requestParameters['end'] == null) {
throw new runtime.RequiredError(
'end',
'Required parameter "end" was null or undefined when calling deleteMeasurementsWithLocationId().'
);
}
const queryParameters: any = {};
if (requestParameters['office'] != null) {
queryParameters['office'] = requestParameters['office'];
}
if (requestParameters['begin'] != null) {
queryParameters['begin'] = requestParameters['begin'];
}
if (requestParameters['end'] != null) {
queryParameters['end'] = requestParameters['end'];
}
if (requestParameters['timezone'] != null) {
queryParameters['timezone'] = requestParameters['timezone'];
}
if (requestParameters['minNumber'] != null) {
queryParameters['min-number'] = requestParameters['minNumber'];
}
if (requestParameters['maxNumber'] != null) {
queryParameters['max-number'] = requestParameters['maxNumber'];
}
const headerParameters: runtime.HTTPHeaders = {};
if (this.configuration && this.configuration.apiKey) {
headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // ApiKey authentication
}
const response = await this.request({
path: `/measurements/{location-id}`.replace(`{${"location-id"}}`, encodeURIComponent(String(requestParameters['locationId']))),
method: 'DELETE',
headers: headerParameters,
query: queryParameters,
}, initOverrides);
return new runtime.VoidApiResponse(response);
}
/**
* Delete an existing measurement.
* Delete cwmsData measurements with locationId
*/
async deleteMeasurementsWithLocationId(requestParameters: DeleteMeasurementsWithLocationIdRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void> {
await this.deleteMeasurementsWithLocationIdRaw(requestParameters, initOverrides);
}
/**
* Returns matching measurement data.
* Get cwmsData measurements
*/
async getMeasurementsRaw(requestParameters: GetMeasurementsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<Measurement>>> {
const queryParameters: any = {};
if (requestParameters['officeMask'] != null) {
queryParameters['office-mask'] = requestParameters['officeMask'];
}
if (requestParameters['idMask'] != null) {
queryParameters['id-mask'] = requestParameters['idMask'];
}
if (requestParameters['minNumber'] != null) {
queryParameters['min-number'] = requestParameters['minNumber'];
}
if (requestParameters['maxNumber'] != null) {
queryParameters['max-number'] = requestParameters['maxNumber'];
}
if (requestParameters['begin'] != null) {
queryParameters['begin'] = requestParameters['begin'];
}
if (requestParameters['end'] != null) {
queryParameters['end'] = requestParameters['end'];
}
if (requestParameters['timezone'] != null) {
queryParameters['timezone'] = requestParameters['timezone'];
}
if (requestParameters['minHeight'] != null) {
queryParameters['min-height'] = requestParameters['minHeight'];
}
if (requestParameters['maxHeight'] != null) {
queryParameters['max-height'] = requestParameters['maxHeight'];
}
if (requestParameters['minFlow'] != null) {
queryParameters['min-flow'] = requestParameters['minFlow'];
}
if (requestParameters['maxFlow'] != null) {
queryParameters['max-flow'] = requestParameters['maxFlow'];
}
if (requestParameters['agency'] != null) {
queryParameters['agency'] = requestParameters['agency'];
}
if (requestParameters['quality'] != null) {
queryParameters['quality'] = requestParameters['quality'];
}
if (requestParameters['unitSystem'] != null) {
queryParameters['unit-system'] = requestParameters['unitSystem'];
}
const headerParameters: runtime.HTTPHeaders = {};
if (this.configuration && this.configuration.apiKey) {
headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // ApiKey authentication
}
const response = await this.request({
path: `/measurements`,
method: 'GET',
headers: headerParameters,
query: queryParameters,
}, initOverrides);
return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(MeasurementFromJSON));
}
/**
* Returns matching measurement data.
* Get cwmsData measurements
*/
async getMeasurements(requestParameters: GetMeasurementsRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<Measurement>> {
const response = await this.getMeasurementsRaw(requestParameters, initOverrides);
return await response.value();
}
/**
* Create new measurement(s).
* Post cwmsData measurements
*/
async postMeasurementsRaw(requestParameters: PostMeasurementsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
if (requestParameters['measurement'] == null) {
throw new runtime.RequiredError(
'measurement',
'Required parameter "measurement" was null or undefined when calling postMeasurements().'
);
}
const queryParameters: any = {};
if (requestParameters['failIfExists'] != null) {
queryParameters['fail-if-exists'] = requestParameters['failIfExists'];
}
const headerParameters: runtime.HTTPHeaders = {};
headerParameters['Content-Type'] = 'application/json;version=1';
if (this.configuration && this.configuration.apiKey) {
headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // ApiKey authentication
}
const response = await this.request({
path: `/measurements`,
method: 'POST',
headers: headerParameters,
query: queryParameters,
body: requestParameters['measurement']!.map(MeasurementToJSON),
}, initOverrides);
return new runtime.VoidApiResponse(response);
}
/**
* Create new measurement(s).
* Post cwmsData measurements
*/
async postMeasurements(requestParameters: PostMeasurementsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void> {
await this.postMeasurementsRaw(requestParameters, initOverrides);
}
}