@emergentmethods/asknews-typescript-sdk
Version:
Typescript SDK for AskNews API
164 lines (143 loc) • 5.23 kB
text/typescript
/* tslint:disable */
/* eslint-disable */
/**
* AskNews API
* AskNews API
*
* The version of the OpenAPI document: 0.21.1
* 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 {
AbcAPIErrorModel45,
AbcAPIErrorModel46,
AbcAPIErrorModel47,
AbcAPIErrorModel48,
AsknewsApiErrorsAPIErrorModel,
RedditResponse,
ValidationErrorModel,
} from '../models/index';
import {
AbcAPIErrorModel45FromJSON,
AbcAPIErrorModel45ToJSON,
AbcAPIErrorModel46FromJSON,
AbcAPIErrorModel46ToJSON,
AbcAPIErrorModel47FromJSON,
AbcAPIErrorModel47ToJSON,
AbcAPIErrorModel48FromJSON,
AbcAPIErrorModel48ToJSON,
AsknewsApiErrorsAPIErrorModelFromJSON,
AsknewsApiErrorsAPIErrorModelToJSON,
RedditResponseFromJSON,
RedditResponseToJSON,
ValidationErrorModelFromJSON,
ValidationErrorModelToJSON,
} from '../models/index';
export interface SearchRedditRequest {
keywords: Array<string>;
nThreads?: number;
method?: SearchRedditMethodEnum;
deep?: boolean;
returnType?: SearchRedditReturnTypeEnum;
timeFilter?: SearchRedditTimeFilterEnum;
sort?: SearchRedditSortEnum;
}
/**
*
*/
export class RedditApi extends runtime.BaseAPI {
/**
* Go to Reddit, search threads, summarize the threads, return analysis. `deep`=True is a live web scrape, AskNews searches Reddit, finds threads, summarizes them, analyzes them, and returns the results. `deep`=False is a search in AskNews\' existing database of Reddit threads.
* Search Reddit, summarize threads, and return analysis.
*/
async searchRedditRaw(requestParameters: SearchRedditRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<RedditResponse> > {
if (requestParameters['keywords'] == null) {
throw new runtime.RequiredError(
'keywords',
'Required parameter "keywords" was null or undefined when calling searchReddit().'
);
}
const queryParameters: any = {};
if (requestParameters['keywords'] != null) {
queryParameters['keywords'] = requestParameters['keywords'];
}
if (requestParameters['nThreads'] != null) {
queryParameters['n_threads'] = requestParameters['nThreads'];
}
if (requestParameters['method'] != null) {
queryParameters['method'] = requestParameters['method'];
}
if (requestParameters['deep'] != null) {
queryParameters['deep'] = requestParameters['deep'];
}
if (requestParameters['returnType'] != null) {
queryParameters['return_type'] = requestParameters['returnType'];
}
if (requestParameters['timeFilter'] != null) {
queryParameters['time_filter'] = requestParameters['timeFilter'];
}
if (requestParameters['sort'] != null) {
queryParameters['sort'] = requestParameters['sort'];
}
const headerParameters: runtime.HTTPHeaders = {};
const response = await this.request({
path: `/v1/reddit/search`,
method: 'GET',
headers: headerParameters,
query: queryParameters,
}, initOverrides);
return new runtime.JSONApiResponse(response, (jsonValue) => RedditResponseFromJSON(jsonValue));
}
/**
* Go to Reddit, search threads, summarize the threads, return analysis. `deep`=True is a live web scrape, AskNews searches Reddit, finds threads, summarizes them, analyzes them, and returns the results. `deep`=False is a search in AskNews\' existing database of Reddit threads.
* Search Reddit, summarize threads, and return analysis.
*/
async searchReddit(requestParameters: SearchRedditRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<RedditResponse> {
const response = await this.searchRedditRaw(requestParameters, initOverrides);
return await response.value();
}
}
/**
* @export
*/
export const SearchRedditMethodEnum = {
Nl: 'nl',
Kw: 'kw'
} as const;
export type SearchRedditMethodEnum = typeof SearchRedditMethodEnum[keyof typeof SearchRedditMethodEnum];
/**
* @export
*/
export const SearchRedditReturnTypeEnum = {
Dicts: 'dicts',
String: 'string',
Both: 'both'
} as const;
export type SearchRedditReturnTypeEnum = typeof SearchRedditReturnTypeEnum[keyof typeof SearchRedditReturnTypeEnum];
/**
* @export
*/
export const SearchRedditTimeFilterEnum = {
Hour: 'hour',
Day: 'day',
Week: 'week',
Month: 'month',
Year: 'year',
All: 'all'
} as const;
export type SearchRedditTimeFilterEnum = typeof SearchRedditTimeFilterEnum[keyof typeof SearchRedditTimeFilterEnum];
/**
* @export
*/
export const SearchRedditSortEnum = {
Relevance: 'relevance',
Hot: 'hot',
Top: 'top',
New: 'new',
Comments: 'comments'
} as const;
export type SearchRedditSortEnum = typeof SearchRedditSortEnum[keyof typeof SearchRedditSortEnum];