UNPKG

cwmsjs

Version:

CWMS Data API Library for JavaScript/TypeScript created with OpenAPI generator for use with browser webapps

308 lines (247 loc) 10.9 kB
/* 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 { CdaError, CdaErrorFromJSON, CdaErrorToJSON, CwmsIdTimeExtentsEntry, CwmsIdTimeExtentsEntryFromJSON, CwmsIdTimeExtentsEntryToJSON, Measurement, MeasurementFromJSON, MeasurementToJSON, } from '../models'; 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 GetMeasurementsTimeExtentsRequest { officeMask?: string; } export interface PostMeasurementsRequest { measurement: Array<Measurement>; failIfExists?: boolean; } /** * */ export class MeasurementsApi extends runtime.BaseAPI { /** * Delete an existing measurement. * Delete measurements with locationId */ async deleteMeasurementsWithLocationIdRaw(requestParameters: DeleteMeasurementsWithLocationIdRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<void>> { if (requestParameters.locationId === null || requestParameters.locationId === undefined) { throw new runtime.RequiredError('locationId','Required parameter requestParameters.locationId was null or undefined when calling deleteMeasurementsWithLocationId.'); } if (requestParameters.office === null || requestParameters.office === undefined) { throw new runtime.RequiredError('office','Required parameter requestParameters.office was null or undefined when calling deleteMeasurementsWithLocationId.'); } if (requestParameters.begin === null || requestParameters.begin === undefined) { throw new runtime.RequiredError('begin','Required parameter requestParameters.begin was null or undefined when calling deleteMeasurementsWithLocationId.'); } if (requestParameters.end === null || requestParameters.end === undefined) { throw new runtime.RequiredError('end','Required parameter requestParameters.end was null or undefined when calling deleteMeasurementsWithLocationId.'); } const queryParameters: any = {}; if (requestParameters.office !== undefined) { queryParameters['office'] = requestParameters.office; } if (requestParameters.begin !== undefined) { queryParameters['begin'] = requestParameters.begin; } if (requestParameters.end !== undefined) { queryParameters['end'] = requestParameters.end; } if (requestParameters.timezone !== undefined) { queryParameters['timezone'] = requestParameters.timezone; } if (requestParameters.minNumber !== undefined) { queryParameters['min-number'] = requestParameters.minNumber; } if (requestParameters.maxNumber !== undefined) { queryParameters['max-number'] = requestParameters.maxNumber; } const headerParameters: runtime.HTTPHeaders = {}; if (this.configuration && this.configuration.apiKey) { headerParameters["Authorization"] = 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 measurements with locationId */ async deleteMeasurementsWithLocationId(requestParameters: DeleteMeasurementsWithLocationIdRequest, initOverrides?: RequestInit): Promise<void> { await this.deleteMeasurementsWithLocationIdRaw(requestParameters, initOverrides); } /** * Returns matching measurement data. * Get measurements */ async getMeasurementsRaw(requestParameters: GetMeasurementsRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<Array<Measurement>>> { const queryParameters: any = {}; if (requestParameters.officeMask !== undefined) { queryParameters['office-mask'] = requestParameters.officeMask; } if (requestParameters.idMask !== undefined) { queryParameters['id-mask'] = requestParameters.idMask; } if (requestParameters.minNumber !== undefined) { queryParameters['min-number'] = requestParameters.minNumber; } if (requestParameters.maxNumber !== undefined) { queryParameters['max-number'] = requestParameters.maxNumber; } if (requestParameters.begin !== undefined) { queryParameters['begin'] = requestParameters.begin; } if (requestParameters.end !== undefined) { queryParameters['end'] = requestParameters.end; } if (requestParameters.timezone !== undefined) { queryParameters['timezone'] = requestParameters.timezone; } if (requestParameters.minHeight !== undefined) { queryParameters['min-height'] = requestParameters.minHeight; } if (requestParameters.maxHeight !== undefined) { queryParameters['max-height'] = requestParameters.maxHeight; } if (requestParameters.minFlow !== undefined) { queryParameters['min-flow'] = requestParameters.minFlow; } if (requestParameters.maxFlow !== undefined) { queryParameters['max-flow'] = requestParameters.maxFlow; } if (requestParameters.agency !== undefined) { queryParameters['agency'] = requestParameters.agency; } if (requestParameters.quality !== undefined) { queryParameters['quality'] = requestParameters.quality; } if (requestParameters.unitSystem !== undefined) { queryParameters['unit-system'] = requestParameters.unitSystem; } const headerParameters: runtime.HTTPHeaders = {}; if (this.configuration && this.configuration.apiKey) { headerParameters["Authorization"] = 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 measurements */ async getMeasurements(requestParameters: GetMeasurementsRequest = {}, initOverrides?: RequestInit): Promise<Array<Measurement>> { const response = await this.getMeasurementsRaw(requestParameters, initOverrides); return await response.value(); } /** * Returns matching downstream stream locations. * Get measurements timeExtents */ async getMeasurementsTimeExtentsRaw(requestParameters: GetMeasurementsTimeExtentsRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<Array<CwmsIdTimeExtentsEntry>>> { const queryParameters: any = {}; if (requestParameters.officeMask !== undefined) { queryParameters['office-mask'] = requestParameters.officeMask; } const headerParameters: runtime.HTTPHeaders = {}; if (this.configuration && this.configuration.apiKey) { headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // ApiKey authentication } const response = await this.request({ path: `/measurements/time-extents`, method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(CwmsIdTimeExtentsEntryFromJSON)); } /** * Returns matching downstream stream locations. * Get measurements timeExtents */ async getMeasurementsTimeExtents(requestParameters: GetMeasurementsTimeExtentsRequest = {}, initOverrides?: RequestInit): Promise<Array<CwmsIdTimeExtentsEntry>> { const response = await this.getMeasurementsTimeExtentsRaw(requestParameters, initOverrides); return await response.value(); } /** * Create new measurement(s). * Post measurements */ async postMeasurementsRaw(requestParameters: PostMeasurementsRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<void>> { if (requestParameters.measurement === null || requestParameters.measurement === undefined) { throw new runtime.RequiredError('measurement','Required parameter requestParameters.measurement was null or undefined when calling postMeasurements.'); } const queryParameters: any = {}; if (requestParameters.failIfExists !== undefined) { 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"] = 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 measurements */ async postMeasurements(requestParameters: PostMeasurementsRequest, initOverrides?: RequestInit): Promise<void> { await this.postMeasurementsRaw(requestParameters, initOverrides); } }