UNPKG

cwmsjs

Version:

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

380 lines (310 loc) 13.6 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, ProjectLock, ProjectLockId, } from '../models/index'; import { CdaErrorFromJSON, CdaErrorToJSON, ProjectLockFromJSON, ProjectLockToJSON, ProjectLockIdFromJSON, ProjectLockIdToJSON, } from '../models/index'; export interface DeleteProjectLocksWithNameRequest { name: string; office: string; revokeTimeout?: number; } export interface GetProjectLocksRequest { officeMask: string; projectMask?: string; applicationMask?: string; } export interface GetProjectLocksWithNameRequest { name: string; office: string; applicationId: string; } export interface PostProjectLocksRequest { projectLock: ProjectLock; revokeExisting?: boolean; revokeTimeout?: number; } export interface PostProjectLocksDenyRequest { lockId: string; } export interface PostProjectLocksReleaseRequest { office: string; lockId: string; } /** * */ export class ProjectLocksApi extends runtime.BaseAPI { /** * Revokes a project lock, if successful the lock is deleted * Delete cwmsData projectLocks with name */ async deleteProjectLocksWithNameRaw(requestParameters: DeleteProjectLocksWithNameRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> { if (requestParameters['name'] == null) { throw new runtime.RequiredError( 'name', 'Required parameter "name" was null or undefined when calling deleteProjectLocksWithName().' ); } if (requestParameters['office'] == null) { throw new runtime.RequiredError( 'office', 'Required parameter "office" was null or undefined when calling deleteProjectLocksWithName().' ); } const queryParameters: any = {}; if (requestParameters['office'] != null) { queryParameters['office'] = requestParameters['office']; } if (requestParameters['revokeTimeout'] != null) { queryParameters['revoke-timeout'] = requestParameters['revokeTimeout']; } 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: `/project-locks/{name}`.replace(`{${"name"}}`, encodeURIComponent(String(requestParameters['name']))), method: 'DELETE', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.VoidApiResponse(response); } /** * Revokes a project lock, if successful the lock is deleted * Delete cwmsData projectLocks with name */ async deleteProjectLocksWithName(requestParameters: DeleteProjectLocksWithNameRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void> { await this.deleteProjectLocksWithNameRaw(requestParameters, initOverrides); } /** * Get a list of project locks * Get cwmsData projectLocks */ async getProjectLocksRaw(requestParameters: GetProjectLocksRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ProjectLock>> { if (requestParameters['officeMask'] == null) { throw new runtime.RequiredError( 'officeMask', 'Required parameter "officeMask" was null or undefined when calling getProjectLocks().' ); } const queryParameters: any = {}; if (requestParameters['officeMask'] != null) { queryParameters['office-mask'] = requestParameters['officeMask']; } if (requestParameters['projectMask'] != null) { queryParameters['project-mask'] = requestParameters['projectMask']; } if (requestParameters['applicationMask'] != null) { queryParameters['application-mask'] = requestParameters['applicationMask']; } 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: `/project-locks`, method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => ProjectLockFromJSON(jsonValue)); } /** * Get a list of project locks * Get cwmsData projectLocks */ async getProjectLocks(requestParameters: GetProjectLocksRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ProjectLock> { const response = await this.getProjectLocksRaw(requestParameters, initOverrides); return await response.value(); } /** * Return a lock if the specified project is locked. Otherwise 404 * Get cwmsData projectLocks with name */ async getProjectLocksWithNameRaw(requestParameters: GetProjectLocksWithNameRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ProjectLock>> { if (requestParameters['name'] == null) { throw new runtime.RequiredError( 'name', 'Required parameter "name" was null or undefined when calling getProjectLocksWithName().' ); } if (requestParameters['office'] == null) { throw new runtime.RequiredError( 'office', 'Required parameter "office" was null or undefined when calling getProjectLocksWithName().' ); } if (requestParameters['applicationId'] == null) { throw new runtime.RequiredError( 'applicationId', 'Required parameter "applicationId" was null or undefined when calling getProjectLocksWithName().' ); } const queryParameters: any = {}; if (requestParameters['office'] != null) { queryParameters['office'] = requestParameters['office']; } if (requestParameters['applicationId'] != null) { queryParameters['application-id'] = requestParameters['applicationId']; } 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: `/project-locks/{name}`.replace(`{${"name"}}`, encodeURIComponent(String(requestParameters['name']))), method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => ProjectLockFromJSON(jsonValue)); } /** * Return a lock if the specified project is locked. Otherwise 404 * Get cwmsData projectLocks with name */ async getProjectLocksWithName(requestParameters: GetProjectLocksWithNameRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ProjectLock> { const response = await this.getProjectLocksWithNameRaw(requestParameters, initOverrides); return await response.value(); } /** * Requests the creation of a new Reservoir Project Lock * Post cwmsData projectLocks */ async postProjectLocksRaw(requestParameters: PostProjectLocksRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ProjectLockId>> { if (requestParameters['projectLock'] == null) { throw new runtime.RequiredError( 'projectLock', 'Required parameter "projectLock" was null or undefined when calling postProjectLocks().' ); } const queryParameters: any = {}; if (requestParameters['revokeExisting'] != null) { queryParameters['revoke-existing'] = requestParameters['revokeExisting']; } if (requestParameters['revokeTimeout'] != null) { queryParameters['revoke-timeout'] = requestParameters['revokeTimeout']; } const headerParameters: runtime.HTTPHeaders = {}; headerParameters['Content-Type'] = 'application/json'; if (this.configuration && this.configuration.apiKey) { headerParameters["Authorization"] = await this.configuration.apiKey("Authorization"); // ApiKey authentication } const response = await this.request({ path: `/project-locks`, method: 'POST', headers: headerParameters, query: queryParameters, body: ProjectLockToJSON(requestParameters['projectLock']), }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => ProjectLockIdFromJSON(jsonValue)); } /** * Requests the creation of a new Reservoir Project Lock * Post cwmsData projectLocks */ async postProjectLocks(requestParameters: PostProjectLocksRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ProjectLockId> { const response = await this.postProjectLocksRaw(requestParameters, initOverrides); return await response.value(); } /** * Deny a Lock revoke request. * Post cwmsData projectLocks deny */ async postProjectLocksDenyRaw(requestParameters: PostProjectLocksDenyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> { if (requestParameters['lockId'] == null) { throw new runtime.RequiredError( 'lockId', 'Required parameter "lockId" was null or undefined when calling postProjectLocksDeny().' ); } const queryParameters: any = {}; if (requestParameters['lockId'] != null) { queryParameters['lock-id'] = requestParameters['lockId']; } 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: `/project-locks/deny`, method: 'POST', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.VoidApiResponse(response); } /** * Deny a Lock revoke request. * Post cwmsData projectLocks deny */ async postProjectLocksDeny(requestParameters: PostProjectLocksDenyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void> { await this.postProjectLocksDenyRaw(requestParameters, initOverrides); } /** * Releases a project lock * Post cwmsData projectLocks release */ async postProjectLocksReleaseRaw(requestParameters: PostProjectLocksReleaseRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> { if (requestParameters['office'] == null) { throw new runtime.RequiredError( 'office', 'Required parameter "office" was null or undefined when calling postProjectLocksRelease().' ); } if (requestParameters['lockId'] == null) { throw new runtime.RequiredError( 'lockId', 'Required parameter "lockId" was null or undefined when calling postProjectLocksRelease().' ); } const queryParameters: any = {}; if (requestParameters['office'] != null) { queryParameters['office'] = requestParameters['office']; } if (requestParameters['lockId'] != null) { queryParameters['lock-id'] = requestParameters['lockId']; } 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: `/project-locks/release`, method: 'POST', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.VoidApiResponse(response); } /** * Releases a project lock * Post cwmsData projectLocks release */ async postProjectLocksRelease(requestParameters: PostProjectLocksReleaseRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void> { await this.postProjectLocksReleaseRaw(requestParameters, initOverrides); } }