UNPKG

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
/* 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); } }