UNPKG

cwmsjs

Version:

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

782 lines (642 loc) 31.2 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, DeleteMethod, GateChange, Outlet, UnitSystem, VirtualOutlet, } from '../models/index'; import { CdaErrorFromJSON, CdaErrorToJSON, DeleteMethodFromJSON, DeleteMethodToJSON, GateChangeFromJSON, GateChangeToJSON, OutletFromJSON, OutletToJSON, UnitSystemFromJSON, UnitSystemToJSON, VirtualOutletFromJSON, VirtualOutletToJSON, } from '../models/index'; export interface DeleteProjectsOutletsWithNameRequest { name: string; office: string; method?: DeleteMethod; } export interface DeleteProjectsWithOfficeWithProjectIdGateChangesRequest { office: string; projectId: string; begin: string; end: string; overrideProtection?: boolean; } export interface DeleteProjectsWithOfficeWithProjectIdVirtualOutletsWithNameRequest { office: string; projectId: string; name: string; method?: DeleteMethod; } export interface GetProjectsOutletsRequest { office: string; projectId: string; } export interface GetProjectsOutletsWithNameRequest { name: string; office: string; } export interface GetProjectsWithOfficeWithProjectIdGateChangesRequest { office: string; projectId: string; begin: string; end: string; startTimeInclusive?: boolean; endTimeInclusive?: boolean; unitSystem?: UnitSystem; pageSize?: number; } export interface GetProjectsWithOfficeWithProjectIdVirtualOutletsRequest { office: string; projectId: string; } export interface GetProjectsWithOfficeWithProjectIdVirtualOutletsWithNameRequest { office: string; projectId: string; name: string; } export interface PatchProjectsOutletsWithNameRequest { name: string; name2: string; office: string; } export interface PostProjectsGateChangesRequest { gateChange: Array<GateChange>; failIfExists?: boolean; } export interface PostProjectsOutletsRequest { outlet: Outlet; failIfExists?: boolean; } export interface PostProjectsVirtualOutletsRequest { virtualOutlet: VirtualOutlet; failIfExists?: boolean; } /** * */ export class OutletsApi extends runtime.BaseAPI { /** * Delete CWMS Outlet * Delete cwmsData projects outlets with name */ async deleteProjectsOutletsWithNameRaw(requestParameters: DeleteProjectsOutletsWithNameRequest, 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 deleteProjectsOutletsWithName().' ); } if (requestParameters['office'] == null) { throw new runtime.RequiredError( 'office', 'Required parameter "office" was null or undefined when calling deleteProjectsOutletsWithName().' ); } const queryParameters: any = {}; if (requestParameters['office'] != null) { queryParameters['office'] = requestParameters['office']; } if (requestParameters['method'] != null) { queryParameters['method'] = requestParameters['method']; } 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: `/projects/outlets/{name}`.replace(`{${"name"}}`, encodeURIComponent(String(requestParameters['name']))), method: 'DELETE', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.VoidApiResponse(response); } /** * Delete CWMS Outlet * Delete cwmsData projects outlets with name */ async deleteProjectsOutletsWithName(requestParameters: DeleteProjectsOutletsWithNameRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void> { await this.deleteProjectsOutletsWithNameRaw(requestParameters, initOverrides); } /** * Deletes matching CWMS gate change data for a Reservoir Project. * Delete cwmsData projects with office with projectId gateChanges */ async deleteProjectsWithOfficeWithProjectIdGateChangesRaw(requestParameters: DeleteProjectsWithOfficeWithProjectIdGateChangesRequest, 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 deleteProjectsWithOfficeWithProjectIdGateChanges().' ); } if (requestParameters['projectId'] == null) { throw new runtime.RequiredError( 'projectId', 'Required parameter "projectId" was null or undefined when calling deleteProjectsWithOfficeWithProjectIdGateChanges().' ); } if (requestParameters['begin'] == null) { throw new runtime.RequiredError( 'begin', 'Required parameter "begin" was null or undefined when calling deleteProjectsWithOfficeWithProjectIdGateChanges().' ); } if (requestParameters['end'] == null) { throw new runtime.RequiredError( 'end', 'Required parameter "end" was null or undefined when calling deleteProjectsWithOfficeWithProjectIdGateChanges().' ); } const queryParameters: any = {}; if (requestParameters['begin'] != null) { queryParameters['begin'] = requestParameters['begin']; } if (requestParameters['end'] != null) { queryParameters['end'] = requestParameters['end']; } 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: `/projects/{office}/{project-id}/gate-changes`.replace(`{${"office"}}`, encodeURIComponent(String(requestParameters['office']))).replace(`{${"project-id"}}`, encodeURIComponent(String(requestParameters['projectId']))), method: 'DELETE', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.VoidApiResponse(response); } /** * Deletes matching CWMS gate change data for a Reservoir Project. * Delete cwmsData projects with office with projectId gateChanges */ async deleteProjectsWithOfficeWithProjectIdGateChanges(requestParameters: DeleteProjectsWithOfficeWithProjectIdGateChangesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void> { await this.deleteProjectsWithOfficeWithProjectIdGateChangesRaw(requestParameters, initOverrides); } /** * Delete CWMS Virtual Outlet * Delete cwmsData projects with office with projectId virtualOutlets with name */ async deleteProjectsWithOfficeWithProjectIdVirtualOutletsWithNameRaw(requestParameters: DeleteProjectsWithOfficeWithProjectIdVirtualOutletsWithNameRequest, 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 deleteProjectsWithOfficeWithProjectIdVirtualOutletsWithName().' ); } if (requestParameters['projectId'] == null) { throw new runtime.RequiredError( 'projectId', 'Required parameter "projectId" was null or undefined when calling deleteProjectsWithOfficeWithProjectIdVirtualOutletsWithName().' ); } if (requestParameters['name'] == null) { throw new runtime.RequiredError( 'name', 'Required parameter "name" was null or undefined when calling deleteProjectsWithOfficeWithProjectIdVirtualOutletsWithName().' ); } const queryParameters: any = {}; if (requestParameters['method'] != null) { queryParameters['method'] = requestParameters['method']; } 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: `/projects/{office}/{project-id}/virtual-outlets/{name}`.replace(`{${"office"}}`, encodeURIComponent(String(requestParameters['office']))).replace(`{${"project-id"}}`, encodeURIComponent(String(requestParameters['projectId']))).replace(`{${"name"}}`, encodeURIComponent(String(requestParameters['name']))), method: 'DELETE', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.VoidApiResponse(response); } /** * Delete CWMS Virtual Outlet * Delete cwmsData projects with office with projectId virtualOutlets with name */ async deleteProjectsWithOfficeWithProjectIdVirtualOutletsWithName(requestParameters: DeleteProjectsWithOfficeWithProjectIdVirtualOutletsWithNameRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void> { await this.deleteProjectsWithOfficeWithProjectIdVirtualOutletsWithNameRaw(requestParameters, initOverrides); } /** * Returns matching CWMS Outlet Data for a Reservoir Project. * Get cwmsData projects outlets */ async getProjectsOutletsRaw(requestParameters: GetProjectsOutletsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<Outlet>>> { if (requestParameters['office'] == null) { throw new runtime.RequiredError( 'office', 'Required parameter "office" was null or undefined when calling getProjectsOutlets().' ); } if (requestParameters['projectId'] == null) { throw new runtime.RequiredError( 'projectId', 'Required parameter "projectId" was null or undefined when calling getProjectsOutlets().' ); } const queryParameters: any = {}; if (requestParameters['office'] != null) { queryParameters['office'] = requestParameters['office']; } if (requestParameters['projectId'] != null) { queryParameters['project-id'] = requestParameters['projectId']; } 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: `/projects/outlets`, method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(OutletFromJSON)); } /** * Returns matching CWMS Outlet Data for a Reservoir Project. * Get cwmsData projects outlets */ async getProjectsOutlets(requestParameters: GetProjectsOutletsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<Outlet>> { const response = await this.getProjectsOutletsRaw(requestParameters, initOverrides); return await response.value(); } /** * Returns CWMS Outlet Data * Get cwmsData projects outlets with name */ async getProjectsOutletsWithNameRaw(requestParameters: GetProjectsOutletsWithNameRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Outlet>> { if (requestParameters['name'] == null) { throw new runtime.RequiredError( 'name', 'Required parameter "name" was null or undefined when calling getProjectsOutletsWithName().' ); } if (requestParameters['office'] == null) { throw new runtime.RequiredError( 'office', 'Required parameter "office" was null or undefined when calling getProjectsOutletsWithName().' ); } const queryParameters: any = {}; if (requestParameters['office'] != null) { queryParameters['office'] = requestParameters['office']; } 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: `/projects/outlets/{name}`.replace(`{${"name"}}`, encodeURIComponent(String(requestParameters['name']))), method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => OutletFromJSON(jsonValue)); } /** * Returns CWMS Outlet Data * Get cwmsData projects outlets with name */ async getProjectsOutletsWithName(requestParameters: GetProjectsOutletsWithNameRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Outlet> { const response = await this.getProjectsOutletsWithNameRaw(requestParameters, initOverrides); return await response.value(); } /** * Returns matching CWMS gate change data for a Reservoir Project. * Get cwmsData projects with office with projectId gateChanges */ async getProjectsWithOfficeWithProjectIdGateChangesRaw(requestParameters: GetProjectsWithOfficeWithProjectIdGateChangesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<GateChange>>> { if (requestParameters['office'] == null) { throw new runtime.RequiredError( 'office', 'Required parameter "office" was null or undefined when calling getProjectsWithOfficeWithProjectIdGateChanges().' ); } if (requestParameters['projectId'] == null) { throw new runtime.RequiredError( 'projectId', 'Required parameter "projectId" was null or undefined when calling getProjectsWithOfficeWithProjectIdGateChanges().' ); } if (requestParameters['begin'] == null) { throw new runtime.RequiredError( 'begin', 'Required parameter "begin" was null or undefined when calling getProjectsWithOfficeWithProjectIdGateChanges().' ); } if (requestParameters['end'] == null) { throw new runtime.RequiredError( 'end', 'Required parameter "end" was null or undefined when calling getProjectsWithOfficeWithProjectIdGateChanges().' ); } const queryParameters: any = {}; if (requestParameters['begin'] != null) { queryParameters['begin'] = requestParameters['begin']; } if (requestParameters['end'] != null) { queryParameters['end'] = requestParameters['end']; } if (requestParameters['startTimeInclusive'] != null) { queryParameters['start-time-inclusive'] = requestParameters['startTimeInclusive']; } if (requestParameters['endTimeInclusive'] != null) { queryParameters['end-time-inclusive'] = requestParameters['endTimeInclusive']; } if (requestParameters['unitSystem'] != null) { queryParameters['unit-system'] = requestParameters['unitSystem']; } 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: `/projects/{office}/{project-id}/gate-changes`.replace(`{${"office"}}`, encodeURIComponent(String(requestParameters['office']))).replace(`{${"project-id"}}`, encodeURIComponent(String(requestParameters['projectId']))), method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(GateChangeFromJSON)); } /** * Returns matching CWMS gate change data for a Reservoir Project. * Get cwmsData projects with office with projectId gateChanges */ async getProjectsWithOfficeWithProjectIdGateChanges(requestParameters: GetProjectsWithOfficeWithProjectIdGateChangesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<GateChange>> { const response = await this.getProjectsWithOfficeWithProjectIdGateChangesRaw(requestParameters, initOverrides); return await response.value(); } /** * Returns matching CWMS Virtual Outlet Data for a Reservoir Project. * Get cwmsData projects with office with projectId virtualOutlets */ async getProjectsWithOfficeWithProjectIdVirtualOutletsRaw(requestParameters: GetProjectsWithOfficeWithProjectIdVirtualOutletsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<VirtualOutlet>>> { if (requestParameters['office'] == null) { throw new runtime.RequiredError( 'office', 'Required parameter "office" was null or undefined when calling getProjectsWithOfficeWithProjectIdVirtualOutlets().' ); } if (requestParameters['projectId'] == null) { throw new runtime.RequiredError( 'projectId', 'Required parameter "projectId" was null or undefined when calling getProjectsWithOfficeWithProjectIdVirtualOutlets().' ); } const queryParameters: any = {}; 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: `/projects/{office}/{project-id}/virtual-outlets`.replace(`{${"office"}}`, encodeURIComponent(String(requestParameters['office']))).replace(`{${"project-id"}}`, encodeURIComponent(String(requestParameters['projectId']))), method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(VirtualOutletFromJSON)); } /** * Returns matching CWMS Virtual Outlet Data for a Reservoir Project. * Get cwmsData projects with office with projectId virtualOutlets */ async getProjectsWithOfficeWithProjectIdVirtualOutlets(requestParameters: GetProjectsWithOfficeWithProjectIdVirtualOutletsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<VirtualOutlet>> { const response = await this.getProjectsWithOfficeWithProjectIdVirtualOutletsRaw(requestParameters, initOverrides); return await response.value(); } /** * Returns CWMS Virtual Outlet Data * Get cwmsData projects with office with projectId virtualOutlets with name */ async getProjectsWithOfficeWithProjectIdVirtualOutletsWithNameRaw(requestParameters: GetProjectsWithOfficeWithProjectIdVirtualOutletsWithNameRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<VirtualOutlet>> { if (requestParameters['office'] == null) { throw new runtime.RequiredError( 'office', 'Required parameter "office" was null or undefined when calling getProjectsWithOfficeWithProjectIdVirtualOutletsWithName().' ); } if (requestParameters['projectId'] == null) { throw new runtime.RequiredError( 'projectId', 'Required parameter "projectId" was null or undefined when calling getProjectsWithOfficeWithProjectIdVirtualOutletsWithName().' ); } if (requestParameters['name'] == null) { throw new runtime.RequiredError( 'name', 'Required parameter "name" was null or undefined when calling getProjectsWithOfficeWithProjectIdVirtualOutletsWithName().' ); } const queryParameters: any = {}; 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: `/projects/{office}/{project-id}/virtual-outlets/{name}`.replace(`{${"office"}}`, encodeURIComponent(String(requestParameters['office']))).replace(`{${"project-id"}}`, encodeURIComponent(String(requestParameters['projectId']))).replace(`{${"name"}}`, encodeURIComponent(String(requestParameters['name']))), method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => VirtualOutletFromJSON(jsonValue)); } /** * Returns CWMS Virtual Outlet Data * Get cwmsData projects with office with projectId virtualOutlets with name */ async getProjectsWithOfficeWithProjectIdVirtualOutletsWithName(requestParameters: GetProjectsWithOfficeWithProjectIdVirtualOutletsWithNameRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<VirtualOutlet> { const response = await this.getProjectsWithOfficeWithProjectIdVirtualOutletsWithNameRaw(requestParameters, initOverrides); return await response.value(); } /** * Rename CWMS Outlet * Patch cwmsData projects outlets with name */ async patchProjectsOutletsWithNameRaw(requestParameters: PatchProjectsOutletsWithNameRequest, 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 patchProjectsOutletsWithName().' ); } if (requestParameters['name2'] == null) { throw new runtime.RequiredError( 'name2', 'Required parameter "name2" was null or undefined when calling patchProjectsOutletsWithName().' ); } if (requestParameters['office'] == null) { throw new runtime.RequiredError( 'office', 'Required parameter "office" was null or undefined when calling patchProjectsOutletsWithName().' ); } const queryParameters: any = {}; if (requestParameters['name2'] != null) { queryParameters['name'] = requestParameters['name2']; } if (requestParameters['office'] != null) { queryParameters['office'] = requestParameters['office']; } 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: `/projects/outlets/{name}`.replace(`{${"name"}}`, encodeURIComponent(String(requestParameters['name']))), method: 'PATCH', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.VoidApiResponse(response); } /** * Rename CWMS Outlet * Patch cwmsData projects outlets with name */ async patchProjectsOutletsWithName(requestParameters: PatchProjectsOutletsWithNameRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void> { await this.patchProjectsOutletsWithNameRaw(requestParameters, initOverrides); } /** * Create CWMS Gate Changes * Post cwmsData projects gateChanges */ async postProjectsGateChangesRaw(requestParameters: PostProjectsGateChangesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> { if (requestParameters['gateChange'] == null) { throw new runtime.RequiredError( 'gateChange', 'Required parameter "gateChange" was null or undefined when calling postProjectsGateChanges().' ); } 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: `/projects/gate-changes`, method: 'POST', headers: headerParameters, query: queryParameters, body: requestParameters['gateChange']!.map(GateChangeToJSON), }, initOverrides); return new runtime.VoidApiResponse(response); } /** * Create CWMS Gate Changes * Post cwmsData projects gateChanges */ async postProjectsGateChanges(requestParameters: PostProjectsGateChangesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void> { await this.postProjectsGateChangesRaw(requestParameters, initOverrides); } /** * Create CWMS Outlet * Post cwmsData projects outlets */ async postProjectsOutletsRaw(requestParameters: PostProjectsOutletsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> { if (requestParameters['outlet'] == null) { throw new runtime.RequiredError( 'outlet', 'Required parameter "outlet" was null or undefined when calling postProjectsOutlets().' ); } 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: `/projects/outlets`, method: 'POST', headers: headerParameters, query: queryParameters, body: OutletToJSON(requestParameters['outlet']), }, initOverrides); return new runtime.VoidApiResponse(response); } /** * Create CWMS Outlet * Post cwmsData projects outlets */ async postProjectsOutlets(requestParameters: PostProjectsOutletsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void> { await this.postProjectsOutletsRaw(requestParameters, initOverrides); } /** * Create CWMS Virtual Outlet * Post cwmsData projects virtualOutlets */ async postProjectsVirtualOutletsRaw(requestParameters: PostProjectsVirtualOutletsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> { if (requestParameters['virtualOutlet'] == null) { throw new runtime.RequiredError( 'virtualOutlet', 'Required parameter "virtualOutlet" was null or undefined when calling postProjectsVirtualOutlets().' ); } 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: `/projects/virtual-outlets`, method: 'POST', headers: headerParameters, query: queryParameters, body: VirtualOutletToJSON(requestParameters['virtualOutlet']), }, initOverrides); return new runtime.VoidApiResponse(response); } /** * Create CWMS Virtual Outlet * Post cwmsData projects virtualOutlets */ async postProjectsVirtualOutlets(requestParameters: PostProjectsVirtualOutletsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void> { await this.postProjectsVirtualOutletsRaw(requestParameters, initOverrides); } }