@emergentmethods/asknews-typescript-sdk
Version:
Typescript SDK for AskNews API
637 lines (537 loc) • 22.1 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 {
AbcAPIErrorModel49,
AbcAPIErrorModel50,
AbcAPIErrorModel51,
AbcAPIErrorModel52,
AbcAPIErrorModel53,
AbcAPIErrorModel54,
AbcAPIErrorModel55,
AbcAPIErrorModel56,
AbcAPIErrorModel57,
AbcAPIErrorModel58,
AbcAPIErrorModel59,
AbcAPIErrorModel60,
AbcAPIErrorModel61,
AbcAPIErrorModel62,
AbcAPIErrorModel63,
AbcAPIErrorModel64,
AbcAPIErrorModel65,
AbcAPIErrorModel66,
AbcAPIErrorModel67,
AbcAPIErrorModel68,
AbcAPIErrorModel69,
AbcAPIErrorModel70,
AbcAPIErrorModel71,
AbcAPIErrorModel72,
AbcAPIErrorModel73,
AbcAPIErrorModel74,
AbcAPIErrorModel75,
AbcAPIErrorModel76,
AbcAPIErrorModel77,
AbcAPIErrorModel78,
AbcAPIErrorModel79,
AbcAPIErrorModel80,
AbcAPIErrorModel81,
AbcAPIErrorModel82,
AbcAPIErrorModel83,
AbcAPIErrorModel84,
AsknewsApiErrorsAPIErrorModel,
CountResponse,
CreateDomainRequest,
HitShareResponse,
PaginatedResponseReadDomainResponse,
ReadDomainResponse,
TopNArticlesByHitsResponse,
TopNArticlesForDomainResponse,
TopNDomainsByHitsResponse,
UpdateDomainRequest,
ValidationErrorModel,
} from '../models/index';
import {
AbcAPIErrorModel49FromJSON,
AbcAPIErrorModel49ToJSON,
AbcAPIErrorModel50FromJSON,
AbcAPIErrorModel50ToJSON,
AbcAPIErrorModel51FromJSON,
AbcAPIErrorModel51ToJSON,
AbcAPIErrorModel52FromJSON,
AbcAPIErrorModel52ToJSON,
AbcAPIErrorModel53FromJSON,
AbcAPIErrorModel53ToJSON,
AbcAPIErrorModel54FromJSON,
AbcAPIErrorModel54ToJSON,
AbcAPIErrorModel55FromJSON,
AbcAPIErrorModel55ToJSON,
AbcAPIErrorModel56FromJSON,
AbcAPIErrorModel56ToJSON,
AbcAPIErrorModel57FromJSON,
AbcAPIErrorModel57ToJSON,
AbcAPIErrorModel58FromJSON,
AbcAPIErrorModel58ToJSON,
AbcAPIErrorModel59FromJSON,
AbcAPIErrorModel59ToJSON,
AbcAPIErrorModel60FromJSON,
AbcAPIErrorModel60ToJSON,
AbcAPIErrorModel61FromJSON,
AbcAPIErrorModel61ToJSON,
AbcAPIErrorModel62FromJSON,
AbcAPIErrorModel62ToJSON,
AbcAPIErrorModel63FromJSON,
AbcAPIErrorModel63ToJSON,
AbcAPIErrorModel64FromJSON,
AbcAPIErrorModel64ToJSON,
AbcAPIErrorModel65FromJSON,
AbcAPIErrorModel65ToJSON,
AbcAPIErrorModel66FromJSON,
AbcAPIErrorModel66ToJSON,
AbcAPIErrorModel67FromJSON,
AbcAPIErrorModel67ToJSON,
AbcAPIErrorModel68FromJSON,
AbcAPIErrorModel68ToJSON,
AbcAPIErrorModel69FromJSON,
AbcAPIErrorModel69ToJSON,
AbcAPIErrorModel70FromJSON,
AbcAPIErrorModel70ToJSON,
AbcAPIErrorModel71FromJSON,
AbcAPIErrorModel71ToJSON,
AbcAPIErrorModel72FromJSON,
AbcAPIErrorModel72ToJSON,
AbcAPIErrorModel73FromJSON,
AbcAPIErrorModel73ToJSON,
AbcAPIErrorModel74FromJSON,
AbcAPIErrorModel74ToJSON,
AbcAPIErrorModel75FromJSON,
AbcAPIErrorModel75ToJSON,
AbcAPIErrorModel76FromJSON,
AbcAPIErrorModel76ToJSON,
AbcAPIErrorModel77FromJSON,
AbcAPIErrorModel77ToJSON,
AbcAPIErrorModel78FromJSON,
AbcAPIErrorModel78ToJSON,
AbcAPIErrorModel79FromJSON,
AbcAPIErrorModel79ToJSON,
AbcAPIErrorModel80FromJSON,
AbcAPIErrorModel80ToJSON,
AbcAPIErrorModel81FromJSON,
AbcAPIErrorModel81ToJSON,
AbcAPIErrorModel82FromJSON,
AbcAPIErrorModel82ToJSON,
AbcAPIErrorModel83FromJSON,
AbcAPIErrorModel83ToJSON,
AbcAPIErrorModel84FromJSON,
AbcAPIErrorModel84ToJSON,
AsknewsApiErrorsAPIErrorModelFromJSON,
AsknewsApiErrorsAPIErrorModelToJSON,
CountResponseFromJSON,
CountResponseToJSON,
CreateDomainRequestFromJSON,
CreateDomainRequestToJSON,
HitShareResponseFromJSON,
HitShareResponseToJSON,
PaginatedResponseReadDomainResponseFromJSON,
PaginatedResponseReadDomainResponseToJSON,
ReadDomainResponseFromJSON,
ReadDomainResponseToJSON,
TopNArticlesByHitsResponseFromJSON,
TopNArticlesByHitsResponseToJSON,
TopNArticlesForDomainResponseFromJSON,
TopNArticlesForDomainResponseToJSON,
TopNDomainsByHitsResponseFromJSON,
TopNDomainsByHitsResponseToJSON,
UpdateDomainRequestFromJSON,
UpdateDomainRequestToJSON,
ValidationErrorModelFromJSON,
ValidationErrorModelToJSON,
} from '../models/index';
export interface CreateDomainOperationRequest {
createDomainRequest: CreateDomainRequest;
}
export interface DomainHitShareRequest {
domainNames: Array<string>;
startDate?: number;
endDate?: number;
isPublisher?: boolean;
}
export interface FindDomainsRequest {
page?: number;
perPage?: number;
names?: Array<string>;
includeIds?: Array<string>;
excludeIds?: Array<string>;
isTollbit?: boolean;
}
export interface GetArticleHitsRequest {
domain: string;
startDate?: number;
endDate?: number;
}
export interface GetDomainRequest {
domainIdOrName: string;
}
export interface TopNArticlesByHitsRequest {
limit?: number;
startDate?: number;
endDate?: number;
}
export interface TopNArticlesForDomainRequest {
domain: string;
limit?: number;
startDate?: number;
endDate?: number;
}
export interface TopNDomainsByHitsRequest {
limit?: number;
startDate?: number;
endDate?: number;
}
export interface UpdateDomainOperationRequest {
domainId: string;
updateDomainRequest: UpdateDomainRequest;
}
/**
*
*/
export class DistributionApi extends runtime.BaseAPI {
/**
* Create a new domain.
* Create a new domain
*/
async createDomainRaw(requestParameters: CreateDomainOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ReadDomainResponse> | runtime.StreamApiResponse> {
if (requestParameters['createDomainRequest'] == null) {
throw new runtime.RequiredError(
'createDomainRequest',
'Required parameter "createDomainRequest" was null or undefined when calling createDomain().'
);
}
const queryParameters: any = {};
const headerParameters: runtime.HTTPHeaders = {};
headerParameters['Content-Type'] = 'application/json';
const response = await this.request({
path: `/v1/distribution/domains`,
method: 'POST',
headers: headerParameters,
query: queryParameters,
body: CreateDomainRequestToJSON(requestParameters['createDomainRequest']),
}, initOverrides);
if ('createDomainRequest' in requestParameters && requestParameters['createDomainRequest'] != null && 'stream' in requestParameters['createDomainRequest'] && requestParameters['createDomainRequest']['stream'] === true) {
return new runtime.StreamApiResponse(response);
}
return new runtime.JSONApiResponse(response, (jsonValue) => ReadDomainResponseFromJSON(jsonValue));
}
/**
* Create a new domain.
* Create a new domain
*/
async createDomain(requestParameters: CreateDomainOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ReadDomainResponse | ReadableStream<any>> {
const response = await this.createDomainRaw(requestParameters, initOverrides);
return await response.value();
}
/**
* Get the hit share for a list of domains in a time period.
* Get the hit share for a list of domains in a time period
*/
async domainHitShareRaw(requestParameters: DomainHitShareRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<HitShareResponse> > {
if (requestParameters['domainNames'] == null) {
throw new runtime.RequiredError(
'domainNames',
'Required parameter "domainNames" was null or undefined when calling domainHitShare().'
);
}
const queryParameters: any = {};
if (requestParameters['domainNames'] != null) {
queryParameters['domain_names'] = requestParameters['domainNames'];
}
if (requestParameters['startDate'] != null) {
queryParameters['start_date'] = requestParameters['startDate'];
}
if (requestParameters['endDate'] != null) {
queryParameters['end_date'] = requestParameters['endDate'];
}
if (requestParameters['isPublisher'] != null) {
queryParameters['is_publisher'] = requestParameters['isPublisher'];
}
const headerParameters: runtime.HTTPHeaders = {};
const response = await this.request({
path: `/v1/distribution/stats/hit_share`,
method: 'GET',
headers: headerParameters,
query: queryParameters,
}, initOverrides);
return new runtime.JSONApiResponse(response, (jsonValue) => HitShareResponseFromJSON(jsonValue));
}
/**
* Get the hit share for a list of domains in a time period.
* Get the hit share for a list of domains in a time period
*/
async domainHitShare(requestParameters: DomainHitShareRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<HitShareResponse> {
const response = await this.domainHitShareRaw(requestParameters, initOverrides);
return await response.value();
}
/**
* Find domains with optional filters.
* Find domains
*/
async findDomainsRaw(requestParameters: FindDomainsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<PaginatedResponseReadDomainResponse> > {
const queryParameters: any = {};
if (requestParameters['page'] != null) {
queryParameters['page'] = requestParameters['page'];
}
if (requestParameters['perPage'] != null) {
queryParameters['per_page'] = requestParameters['perPage'];
}
if (requestParameters['names'] != null) {
queryParameters['names'] = requestParameters['names'];
}
if (requestParameters['includeIds'] != null) {
queryParameters['include_ids'] = requestParameters['includeIds'];
}
if (requestParameters['excludeIds'] != null) {
queryParameters['exclude_ids'] = requestParameters['excludeIds'];
}
if (requestParameters['isTollbit'] != null) {
queryParameters['is_tollbit'] = requestParameters['isTollbit'];
}
const headerParameters: runtime.HTTPHeaders = {};
const response = await this.request({
path: `/v1/distribution/domains`,
method: 'GET',
headers: headerParameters,
query: queryParameters,
}, initOverrides);
return new runtime.JSONApiResponse(response, (jsonValue) => PaginatedResponseReadDomainResponseFromJSON(jsonValue));
}
/**
* Find domains with optional filters.
* Find domains
*/
async findDomains(requestParameters: FindDomainsRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<PaginatedResponseReadDomainResponse> {
const response = await this.findDomainsRaw(requestParameters, initOverrides);
return await response.value();
}
/**
* Get the number of hits for articles in a specific domain.
* Get article hits
*/
async getArticleHitsRaw(requestParameters: GetArticleHitsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<CountResponse> > {
if (requestParameters['domain'] == null) {
throw new runtime.RequiredError(
'domain',
'Required parameter "domain" was null or undefined when calling getArticleHits().'
);
}
const queryParameters: any = {};
if (requestParameters['domain'] != null) {
queryParameters['domain'] = requestParameters['domain'];
}
if (requestParameters['startDate'] != null) {
queryParameters['start_date'] = requestParameters['startDate'];
}
if (requestParameters['endDate'] != null) {
queryParameters['end_date'] = requestParameters['endDate'];
}
const headerParameters: runtime.HTTPHeaders = {};
const response = await this.request({
path: `/v1/distribution/stats/count`,
method: 'GET',
headers: headerParameters,
query: queryParameters,
}, initOverrides);
return new runtime.JSONApiResponse(response, (jsonValue) => CountResponseFromJSON(jsonValue));
}
/**
* Get the number of hits for articles in a specific domain.
* Get article hits
*/
async getArticleHits(requestParameters: GetArticleHitsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<CountResponse> {
const response = await this.getArticleHitsRaw(requestParameters, initOverrides);
return await response.value();
}
/**
* Get a new domain.
* Get a domain by ID or name
*/
async getDomainRaw(requestParameters: GetDomainRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ReadDomainResponse> > {
if (requestParameters['domainIdOrName'] == null) {
throw new runtime.RequiredError(
'domainIdOrName',
'Required parameter "domainIdOrName" was null or undefined when calling getDomain().'
);
}
const queryParameters: any = {};
const headerParameters: runtime.HTTPHeaders = {};
const response = await this.request({
path: `/v1/distribution/domains/{domain_idOrName}`.replace(`{${"domain_idOrName"}}`, encodeURIComponent(String(requestParameters['domainIdOrName']))),
method: 'GET',
headers: headerParameters,
query: queryParameters,
}, initOverrides);
return new runtime.JSONApiResponse(response, (jsonValue) => ReadDomainResponseFromJSON(jsonValue));
}
/**
* Get a new domain.
* Get a domain by ID or name
*/
async getDomain(requestParameters: GetDomainRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ReadDomainResponse> {
const response = await this.getDomainRaw(requestParameters, initOverrides);
return await response.value();
}
/**
* Get the top N articles by hits.
* Get the top N articles by hits
*/
async topNArticlesByHitsRaw(requestParameters: TopNArticlesByHitsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<TopNArticlesByHitsResponse> > {
const queryParameters: any = {};
if (requestParameters['limit'] != null) {
queryParameters['limit'] = requestParameters['limit'];
}
if (requestParameters['startDate'] != null) {
queryParameters['start_date'] = requestParameters['startDate'];
}
if (requestParameters['endDate'] != null) {
queryParameters['end_date'] = requestParameters['endDate'];
}
const headerParameters: runtime.HTTPHeaders = {};
const response = await this.request({
path: `/v1/distribution/articles/top_n`,
method: 'GET',
headers: headerParameters,
query: queryParameters,
}, initOverrides);
return new runtime.JSONApiResponse(response, (jsonValue) => TopNArticlesByHitsResponseFromJSON(jsonValue));
}
/**
* Get the top N articles by hits.
* Get the top N articles by hits
*/
async topNArticlesByHits(requestParameters: TopNArticlesByHitsRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<TopNArticlesByHitsResponse> {
const response = await this.topNArticlesByHitsRaw(requestParameters, initOverrides);
return await response.value();
}
/**
* Get the top N domain articles by hits.
* Get the top N articles by hits for domain
*/
async topNArticlesForDomainRaw(requestParameters: TopNArticlesForDomainRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<TopNArticlesForDomainResponse> > {
if (requestParameters['domain'] == null) {
throw new runtime.RequiredError(
'domain',
'Required parameter "domain" was null or undefined when calling topNArticlesForDomain().'
);
}
const queryParameters: any = {};
if (requestParameters['domain'] != null) {
queryParameters['domain'] = requestParameters['domain'];
}
if (requestParameters['limit'] != null) {
queryParameters['limit'] = requestParameters['limit'];
}
if (requestParameters['startDate'] != null) {
queryParameters['start_date'] = requestParameters['startDate'];
}
if (requestParameters['endDate'] != null) {
queryParameters['end_date'] = requestParameters['endDate'];
}
const headerParameters: runtime.HTTPHeaders = {};
const response = await this.request({
path: `/v1/distribution/articles/top_n_for_domain`,
method: 'GET',
headers: headerParameters,
query: queryParameters,
}, initOverrides);
return new runtime.JSONApiResponse(response, (jsonValue) => TopNArticlesForDomainResponseFromJSON(jsonValue));
}
/**
* Get the top N domain articles by hits.
* Get the top N articles by hits for domain
*/
async topNArticlesForDomain(requestParameters: TopNArticlesForDomainRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<TopNArticlesForDomainResponse> {
const response = await this.topNArticlesForDomainRaw(requestParameters, initOverrides);
return await response.value();
}
/**
* Get the top N domains by hits.
* Get the top N domains by hits
*/
async topNDomainsByHitsRaw(requestParameters: TopNDomainsByHitsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<TopNDomainsByHitsResponse> > {
const queryParameters: any = {};
if (requestParameters['limit'] != null) {
queryParameters['limit'] = requestParameters['limit'];
}
if (requestParameters['startDate'] != null) {
queryParameters['start_date'] = requestParameters['startDate'];
}
if (requestParameters['endDate'] != null) {
queryParameters['end_date'] = requestParameters['endDate'];
}
const headerParameters: runtime.HTTPHeaders = {};
const response = await this.request({
path: `/v1/distribution/domains/top_n`,
method: 'GET',
headers: headerParameters,
query: queryParameters,
}, initOverrides);
return new runtime.JSONApiResponse(response, (jsonValue) => TopNDomainsByHitsResponseFromJSON(jsonValue));
}
/**
* Get the top N domains by hits.
* Get the top N domains by hits
*/
async topNDomainsByHits(requestParameters: TopNDomainsByHitsRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<TopNDomainsByHitsResponse> {
const response = await this.topNDomainsByHitsRaw(requestParameters, initOverrides);
return await response.value();
}
/**
* Update an existing domain.
* Update an existing domain
*/
async updateDomainRaw(requestParameters: UpdateDomainOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ReadDomainResponse> | runtime.StreamApiResponse> {
if (requestParameters['domainId'] == null) {
throw new runtime.RequiredError(
'domainId',
'Required parameter "domainId" was null or undefined when calling updateDomain().'
);
}
if (requestParameters['updateDomainRequest'] == null) {
throw new runtime.RequiredError(
'updateDomainRequest',
'Required parameter "updateDomainRequest" was null or undefined when calling updateDomain().'
);
}
const queryParameters: any = {};
const headerParameters: runtime.HTTPHeaders = {};
headerParameters['Content-Type'] = 'application/json';
const response = await this.request({
path: `/v1/distribution/domains/{domain_id}`.replace(`{${"domain_id"}}`, encodeURIComponent(String(requestParameters['domainId']))),
method: 'PUT',
headers: headerParameters,
query: queryParameters,
body: UpdateDomainRequestToJSON(requestParameters['updateDomainRequest']),
}, initOverrides);
if ('updateDomainRequest' in requestParameters && requestParameters['updateDomainRequest'] != null && 'stream' in requestParameters['updateDomainRequest'] && requestParameters['updateDomainRequest']['stream'] === true) {
return new runtime.StreamApiResponse(response);
}
return new runtime.JSONApiResponse(response, (jsonValue) => ReadDomainResponseFromJSON(jsonValue));
}
/**
* Update an existing domain.
* Update an existing domain
*/
async updateDomain(requestParameters: UpdateDomainOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ReadDomainResponse | ReadableStream<any>> {
const response = await this.updateDomainRaw(requestParameters, initOverrides);
return await response.value();
}
}