UNPKG

cwmsjs

Version:

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

447 lines (363 loc) 15.5 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, StoreRule, TimeSeries, Tsv, UnitSystem, } from '../models/index'; import { CdaErrorFromJSON, CdaErrorToJSON, StoreRuleFromJSON, StoreRuleToJSON, TimeSeriesFromJSON, TimeSeriesToJSON, TsvFromJSON, TsvToJSON, UnitSystemFromJSON, UnitSystemToJSON, } from '../models/index'; export interface DeleteTimeSeriesWithTimeSeriesRequest { timeseries: string; office: string; begin: string; end: string; timezone?: string; versionDate?: string; startTimeInclusive?: boolean; endTimeInclusive?: boolean; maxVersion?: boolean; overrideProtection?: boolean; } export interface GetTimeSeriesRequest { name: string; office?: string; unit?: string; versionDate?: string; datum?: string; begin?: string; end?: string; timezone?: string; trim?: boolean; format?: string; page?: string; pageSize?: number; } export interface GetTimeSeriesRecentRequest { office?: string; categoryId?: string; groupId?: string; tsIds?: string; unitSystem?: UnitSystem; } export interface PatchTimeSeriesWithTimeSeriesRequest { timeseries: string; timeSeries: TimeSeries; timezone?: string; createAsLrts?: boolean; storeRule?: StoreRule; overrideProtection?: boolean; } export interface PostTimeSeriesRequest { timeSeries: TimeSeries; timezone?: string; createAsLrts?: boolean; storeRule?: StoreRule; overrideProtection?: boolean; } /** * */ export class TimeSeriesApi extends runtime.BaseAPI { /** * Delete cwmsData timeseries with timeseries */ async deleteTimeSeriesWithTimeSeriesRaw(requestParameters: DeleteTimeSeriesWithTimeSeriesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> { if (requestParameters['timeseries'] == null) { throw new runtime.RequiredError( 'timeseries', 'Required parameter "timeseries" was null or undefined when calling deleteTimeSeriesWithTimeSeries().' ); } if (requestParameters['office'] == null) { throw new runtime.RequiredError( 'office', 'Required parameter "office" was null or undefined when calling deleteTimeSeriesWithTimeSeries().' ); } if (requestParameters['begin'] == null) { throw new runtime.RequiredError( 'begin', 'Required parameter "begin" was null or undefined when calling deleteTimeSeriesWithTimeSeries().' ); } if (requestParameters['end'] == null) { throw new runtime.RequiredError( 'end', 'Required parameter "end" was null or undefined when calling deleteTimeSeriesWithTimeSeries().' ); } 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['versionDate'] != null) { queryParameters['version-date'] = requestParameters['versionDate']; } if (requestParameters['startTimeInclusive'] != null) { queryParameters['start-time-inclusive'] = requestParameters['startTimeInclusive']; } if (requestParameters['endTimeInclusive'] != null) { queryParameters['end-time-inclusive'] = requestParameters['endTimeInclusive']; } if (requestParameters['maxVersion'] != null) { queryParameters['max-version'] = requestParameters['maxVersion']; } if (requestParameters['overrideProtection'] != null) { queryParameters['override-protection'] = requestParameters['overrideProtection']; } 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: `/timeseries/{timeseries}`.replace(`{${"timeseries"}}`, encodeURIComponent(String(requestParameters['timeseries']))), method: 'DELETE', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.VoidApiResponse(response); } /** * Delete cwmsData timeseries with timeseries */ async deleteTimeSeriesWithTimeSeries(requestParameters: DeleteTimeSeriesWithTimeSeriesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void> { await this.deleteTimeSeriesWithTimeSeriesRaw(requestParameters, initOverrides); } /** * Get cwmsData timeseries */ async getTimeSeriesRaw(requestParameters: GetTimeSeriesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<TimeSeries>> { if (requestParameters['name'] == null) { throw new runtime.RequiredError( 'name', 'Required parameter "name" was null or undefined when calling getTimeSeries().' ); } const queryParameters: any = {}; if (requestParameters['name'] != null) { queryParameters['name'] = requestParameters['name']; } if (requestParameters['office'] != null) { queryParameters['office'] = requestParameters['office']; } if (requestParameters['unit'] != null) { queryParameters['unit'] = requestParameters['unit']; } if (requestParameters['versionDate'] != null) { queryParameters['version-date'] = requestParameters['versionDate']; } if (requestParameters['datum'] != null) { queryParameters['datum'] = requestParameters['datum']; } 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['trim'] != null) { queryParameters['trim'] = requestParameters['trim']; } if (requestParameters['format'] != null) { queryParameters['format'] = requestParameters['format']; } 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.apiKey) { headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // ApiKey authentication } const response = await this.request({ path: `/timeseries`, method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => TimeSeriesFromJSON(jsonValue)); } /** * Get cwmsData timeseries */ async getTimeSeries(requestParameters: GetTimeSeriesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<TimeSeries> { const response = await this.getTimeSeriesRaw(requestParameters, initOverrides); return await response.value(); } /** * Returns CWMS TimeSeries Groups Data * Get cwmsData timeseries recent */ async getTimeSeriesRecentRaw(requestParameters: GetTimeSeriesRecentRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<Tsv>>> { const queryParameters: any = {}; if (requestParameters['office'] != null) { queryParameters['office'] = requestParameters['office']; } if (requestParameters['categoryId'] != null) { queryParameters['category-id'] = requestParameters['categoryId']; } if (requestParameters['groupId'] != null) { queryParameters['group-id'] = requestParameters['groupId']; } if (requestParameters['tsIds'] != null) { queryParameters['ts-ids'] = requestParameters['tsIds']; } 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: `/timeseries/recent`, method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(TsvFromJSON)); } /** * Returns CWMS TimeSeries Groups Data * Get cwmsData timeseries recent */ async getTimeSeriesRecent(requestParameters: GetTimeSeriesRecentRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<Tsv>> { const response = await this.getTimeSeriesRecentRaw(requestParameters, initOverrides); return await response.value(); } /** * Update a TimeSeries with provided values * Patch cwmsData timeseries with timeseries */ async patchTimeSeriesWithTimeSeriesRaw(requestParameters: PatchTimeSeriesWithTimeSeriesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> { if (requestParameters['timeseries'] == null) { throw new runtime.RequiredError( 'timeseries', 'Required parameter "timeseries" was null or undefined when calling patchTimeSeriesWithTimeSeries().' ); } if (requestParameters['timeSeries'] == null) { throw new runtime.RequiredError( 'timeSeries', 'Required parameter "timeSeries" was null or undefined when calling patchTimeSeriesWithTimeSeries().' ); } const queryParameters: any = {}; if (requestParameters['timezone'] != null) { queryParameters['timezone'] = requestParameters['timezone']; } if (requestParameters['createAsLrts'] != null) { queryParameters['create-as-lrts'] = requestParameters['createAsLrts']; } if (requestParameters['storeRule'] != null) { queryParameters['store-rule'] = requestParameters['storeRule']; } if (requestParameters['overrideProtection'] != null) { queryParameters['override-protection'] = requestParameters['overrideProtection']; } const headerParameters: runtime.HTTPHeaders = {}; headerParameters['Content-Type'] = 'application/json;version=2'; if (this.configuration && this.configuration.apiKey) { headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // ApiKey authentication } const response = await this.request({ path: `/timeseries/{timeseries}`.replace(`{${"timeseries"}}`, encodeURIComponent(String(requestParameters['timeseries']))), method: 'PATCH', headers: headerParameters, query: queryParameters, body: TimeSeriesToJSON(requestParameters['timeSeries']), }, initOverrides); return new runtime.VoidApiResponse(response); } /** * Update a TimeSeries with provided values * Patch cwmsData timeseries with timeseries */ async patchTimeSeriesWithTimeSeries(requestParameters: PatchTimeSeriesWithTimeSeriesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void> { await this.patchTimeSeriesWithTimeSeriesRaw(requestParameters, initOverrides); } /** * Used to create and save time-series data. Data to be stored must have time stamps in UTC represented as epoch milliseconds * Post cwmsData timeseries */ async postTimeSeriesRaw(requestParameters: PostTimeSeriesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> { if (requestParameters['timeSeries'] == null) { throw new runtime.RequiredError( 'timeSeries', 'Required parameter "timeSeries" was null or undefined when calling postTimeSeries().' ); } const queryParameters: any = {}; if (requestParameters['timezone'] != null) { queryParameters['timezone'] = requestParameters['timezone']; } if (requestParameters['createAsLrts'] != null) { queryParameters['create-as-lrts'] = requestParameters['createAsLrts']; } if (requestParameters['storeRule'] != null) { queryParameters['store-rule'] = requestParameters['storeRule']; } if (requestParameters['overrideProtection'] != null) { queryParameters['override-protection'] = requestParameters['overrideProtection']; } const headerParameters: runtime.HTTPHeaders = {}; headerParameters['Content-Type'] = 'application/json;version=2'; if (this.configuration && this.configuration.apiKey) { headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // ApiKey authentication } const response = await this.request({ path: `/timeseries`, method: 'POST', headers: headerParameters, query: queryParameters, body: TimeSeriesToJSON(requestParameters['timeSeries']), }, initOverrides); return new runtime.VoidApiResponse(response); } /** * Used to create and save time-series data. Data to be stored must have time stamps in UTC represented as epoch milliseconds * Post cwmsData timeseries */ async postTimeSeries(requestParameters: PostTimeSeriesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void> { await this.postTimeSeriesRaw(requestParameters, initOverrides); } }