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
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,
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);
}
}