@emergentmethods/asknews-typescript-sdk
Version:
Typescript SDK for AskNews API
170 lines (139 loc) • 6.94 kB
text/typescript
/* tslint:disable */
/* eslint-disable */
/**
* AskNews API
* AskNews API [](https://status.asknews.app/status/prod)
*
* The version of the OpenAPI document: 0.24.66
* Contact: contact@emergentmethods.ai
*
* 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 {
ApiKeyResponse,
HTTPValidationError,
UpsertApiKeyRequest,
} from '../models/index';
import {
ApiKeyResponseFromJSON,
ApiKeyResponseToJSON,
HTTPValidationErrorFromJSON,
HTTPValidationErrorToJSON,
UpsertApiKeyRequestFromJSON,
UpsertApiKeyRequestToJSON,
} from '../models/index';
export interface DeleteByokKeyRequest {
provider: string;
}
export interface GetByokKeyRequest {
provider: string;
}
export interface UpsertByokKeyRequest {
provider: string;
upsertApiKeyRequest: UpsertApiKeyRequest;
}
/**
*
*/
export class ByokApi extends runtime.BaseAPI {
/**
* Delete a stored BYOK API key for a provider. Bring your own key is reserved for enterprise clients. If you want to use this feature, please contact us at contact@asknews.app
* Delete a stored BYOK API key for a provider
*/
async deleteByokKeyRaw(requestParameters: DeleteByokKeyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void> > {
if (requestParameters['provider'] == null) {
throw new runtime.RequiredError(
'provider',
'Required parameter "provider" was null or undefined when calling deleteByokKey().'
);
}
const queryParameters: any = {};
const headerParameters: runtime.HTTPHeaders = {};
const response = await this.request({
path: `/v1/chat/byok/{provider}`.replace(`{${"provider"}}`, encodeURIComponent(String(requestParameters['provider']))),
method: 'DELETE',
headers: headerParameters,
query: queryParameters,
}, initOverrides);
return new runtime.VoidApiResponse(response);
}
/**
* Delete a stored BYOK API key for a provider. Bring your own key is reserved for enterprise clients. If you want to use this feature, please contact us at contact@asknews.app
* Delete a stored BYOK API key for a provider
*/
async deleteByokKey(requestParameters: DeleteByokKeyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void> {
await this.deleteByokKeyRaw(requestParameters, initOverrides);
}
/**
* Get the stored BYOK API key hint for a provider. Bring your own key is reserved for enterprise clients. If you want to use this feature, please contact us at contact@asknews.app
* Get a stored BYOK API key hint for a provider
*/
async getByokKeyRaw(requestParameters: GetByokKeyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ApiKeyResponse> > {
if (requestParameters['provider'] == null) {
throw new runtime.RequiredError(
'provider',
'Required parameter "provider" was null or undefined when calling getByokKey().'
);
}
const queryParameters: any = {};
const headerParameters: runtime.HTTPHeaders = {};
const response = await this.request({
path: `/v1/chat/byok/{provider}`.replace(`{${"provider"}}`, encodeURIComponent(String(requestParameters['provider']))),
method: 'GET',
headers: headerParameters,
query: queryParameters,
}, initOverrides);
return new runtime.JSONApiResponse(response, (jsonValue) => ApiKeyResponseFromJSON(jsonValue));
}
/**
* Get the stored BYOK API key hint for a provider. Bring your own key is reserved for enterprise clients. If you want to use this feature, please contact us at contact@asknews.app
* Get a stored BYOK API key hint for a provider
*/
async getByokKey(requestParameters: GetByokKeyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ApiKeyResponse> {
const response = await this.getByokKeyRaw(requestParameters, initOverrides);
return await response.value();
}
/**
* Store a BYOK API key for a provider. Bring your own key is reserved for enterprise clients. If you want to use this feature, please contact us at contact@asknews.app
* Store a BYOK API key for a provider
*/
async upsertByokKeyRaw(requestParameters: UpsertByokKeyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ApiKeyResponse> | runtime.StreamApiResponse> {
if (requestParameters['provider'] == null) {
throw new runtime.RequiredError(
'provider',
'Required parameter "provider" was null or undefined when calling upsertByokKey().'
);
}
if (requestParameters['upsertApiKeyRequest'] == null) {
throw new runtime.RequiredError(
'upsertApiKeyRequest',
'Required parameter "upsertApiKeyRequest" was null or undefined when calling upsertByokKey().'
);
}
const queryParameters: any = {};
const headerParameters: runtime.HTTPHeaders = {};
headerParameters['Content-Type'] = 'application/json';
const response = await this.request({
path: `/v1/chat/byok/{provider}`.replace(`{${"provider"}}`, encodeURIComponent(String(requestParameters['provider']))),
method: 'PUT',
headers: headerParameters,
query: queryParameters,
body: UpsertApiKeyRequestToJSON(requestParameters['upsertApiKeyRequest']),
}, initOverrides);
if ('upsertApiKeyRequest' in requestParameters && requestParameters['upsertApiKeyRequest'] != null && 'stream' in requestParameters['upsertApiKeyRequest'] && requestParameters['upsertApiKeyRequest']['stream'] === true) {
return new runtime.StreamApiResponse(response);
}
return new runtime.JSONApiResponse(response, (jsonValue) => ApiKeyResponseFromJSON(jsonValue));
}
/**
* Store a BYOK API key for a provider. Bring your own key is reserved for enterprise clients. If you want to use this feature, please contact us at contact@asknews.app
* Store a BYOK API key for a provider
*/
async upsertByokKey(requestParameters: UpsertByokKeyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ApiKeyResponse | ReadableStream<any>> {
const response = await this.upsertByokKeyRaw(requestParameters, initOverrides);
return await response.value();
}
}