@emergentmethods/asknews-typescript-sdk
Version:
Typescript SDK for AskNews API
254 lines (253 loc) • 10.6 kB
JavaScript
;
/* tslint:disable */
/* eslint-disable */
/**
* AskNews API
* AskNews API
*
* The version of the OpenAPI document: 0.19.10
* 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.
*/
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.GetStoryCitationMethodEnum = exports.GetStoriesStrategyEnum = exports.GetStoriesProvocativeEnum = exports.GetStoriesCitationMethodEnum = exports.GetStoriesObjTypeEnum = exports.GetStoriesMethodEnum = exports.GetStoriesSortTypeEnum = exports.GetStoriesSortByEnum = exports.GetStoriesCategoriesEnum = exports.StoriesApi = void 0;
const runtime = require("../runtime");
const index_1 = require("../models/index");
/**
*
*/
class StoriesApi extends runtime.BaseAPI {
/**
* Filter on our custom, in-house written, stories/events/narratives. These stories are based on clusters of articles (which come through this endpoint as well, so you can consider this a clustering endpoint). We write stories and track them through time. The enrichments include a full Reddit overview (including all the thread metadata), as well as descriptions of the reporting voice, the key takeaways, contradictions, all the entities, and much, much more. You can see this data in action, and filter it similarly at `https://asknews.app/stories`
* Filter and search for top news narratives
*/
getStoriesRaw(requestParameters, initOverrides) {
return __awaiter(this, void 0, void 0, function* () {
const queryParameters = {};
if (requestParameters['query'] != null) {
queryParameters['query'] = requestParameters['query'];
}
if (requestParameters['categories'] != null) {
queryParameters['categories'] = requestParameters['categories'];
}
if (requestParameters['uuids'] != null) {
queryParameters['uuids'] = requestParameters['uuids'];
}
if (requestParameters['startTimestamp'] != null) {
queryParameters['start_timestamp'] = requestParameters['startTimestamp'];
}
if (requestParameters['endTimestamp'] != null) {
queryParameters['end_timestamp'] = requestParameters['endTimestamp'];
}
if (requestParameters['sortBy'] != null) {
queryParameters['sort_by'] = requestParameters['sortBy'];
}
if (requestParameters['sortType'] != null) {
queryParameters['sort_type'] = requestParameters['sortType'];
}
if (requestParameters['continent'] != null) {
queryParameters['continent'] = requestParameters['continent'];
}
if (requestParameters['offset'] != null) {
queryParameters['offset'] = requestParameters['offset'];
}
if (requestParameters['limit'] != null) {
queryParameters['limit'] = requestParameters['limit'];
}
if (requestParameters['expandUpdates'] != null) {
queryParameters['expand_updates'] = requestParameters['expandUpdates'];
}
if (requestParameters['maxUpdates'] != null) {
queryParameters['max_updates'] = requestParameters['maxUpdates'];
}
if (requestParameters['maxArticles'] != null) {
queryParameters['max_articles'] = requestParameters['maxArticles'];
}
if (requestParameters['method'] != null) {
queryParameters['method'] = requestParameters['method'];
}
if (requestParameters['objType'] != null) {
queryParameters['obj_type'] = requestParameters['objType'];
}
if (requestParameters['reddit'] != null) {
queryParameters['reddit'] = requestParameters['reddit'];
}
if (requestParameters['citationMethod'] != null) {
queryParameters['citation_method'] = requestParameters['citationMethod'];
}
if (requestParameters['similarityScoreThreshold'] != null) {
queryParameters['similarity_score_threshold'] = requestParameters['similarityScoreThreshold'];
}
if (requestParameters['provocative'] != null) {
queryParameters['provocative'] = requestParameters['provocative'];
}
if (requestParameters['strategy'] != null) {
queryParameters['strategy'] = requestParameters['strategy'];
}
const headerParameters = {};
const response = yield this.request({
path: `/v1/stories`,
method: 'GET',
headers: headerParameters,
query: queryParameters,
}, initOverrides);
return new runtime.JSONApiResponse(response, (jsonValue) => (0, index_1.StoriesResponseFromJSON)(jsonValue));
});
}
/**
* Filter on our custom, in-house written, stories/events/narratives. These stories are based on clusters of articles (which come through this endpoint as well, so you can consider this a clustering endpoint). We write stories and track them through time. The enrichments include a full Reddit overview (including all the thread metadata), as well as descriptions of the reporting voice, the key takeaways, contradictions, all the entities, and much, much more. You can see this data in action, and filter it similarly at `https://asknews.app/stories`
* Filter and search for top news narratives
*/
getStories(requestParameters = {}, initOverrides) {
return __awaiter(this, void 0, void 0, function* () {
const response = yield this.getStoriesRaw(requestParameters, initOverrides);
return yield response.value();
});
}
/**
* Get a single news story given its UUID.
* Get a story containing updates
*/
getStoryRaw(requestParameters, initOverrides) {
return __awaiter(this, void 0, void 0, function* () {
if (requestParameters['storyId'] == null) {
throw new runtime.RequiredError('storyId', 'Required parameter "storyId" was null or undefined when calling getStory().');
}
const queryParameters = {};
if (requestParameters['expandUpdates'] != null) {
queryParameters['expand_updates'] = requestParameters['expandUpdates'];
}
if (requestParameters['maxUpdates'] != null) {
queryParameters['max_updates'] = requestParameters['maxUpdates'];
}
if (requestParameters['maxArticles'] != null) {
queryParameters['max_articles'] = requestParameters['maxArticles'];
}
if (requestParameters['reddit'] != null) {
queryParameters['reddit'] = requestParameters['reddit'];
}
if (requestParameters['citationMethod'] != null) {
queryParameters['citation_method'] = requestParameters['citationMethod'];
}
if (requestParameters['condenseAuxillaryUpdates'] != null) {
queryParameters['condense_auxillary_updates'] = requestParameters['condenseAuxillaryUpdates'];
}
const headerParameters = {};
const response = yield this.request({
path: `/v1/stories/{story_id}`.replace(`{${"story_id"}}`, encodeURIComponent(String(requestParameters['storyId']))),
method: 'GET',
headers: headerParameters,
query: queryParameters,
}, initOverrides);
return new runtime.JSONApiResponse(response, (jsonValue) => (0, index_1.StoryResponseFromJSON)(jsonValue));
});
}
/**
* Get a single news story given its UUID.
* Get a story containing updates
*/
getStory(requestParameters, initOverrides) {
return __awaiter(this, void 0, void 0, function* () {
const response = yield this.getStoryRaw(requestParameters, initOverrides);
return yield response.value();
});
}
}
exports.StoriesApi = StoriesApi;
/**
* @export
*/
exports.GetStoriesCategoriesEnum = {
Politics: 'Politics',
Economy: 'Economy',
Finance: 'Finance',
Science: 'Science',
Technology: 'Technology',
Sports: 'Sports',
Climate: 'Climate',
Environment: 'Environment',
Culture: 'Culture',
Entertainment: 'Entertainment',
Business: 'Business',
Health: 'Health',
International: 'International'
};
/**
* @export
*/
exports.GetStoriesSortByEnum = {
Published: 'published',
Coverage: 'coverage',
Sentiment: 'sentiment',
Relevance: 'relevance',
Confidence: 'confidence'
};
/**
* @export
*/
exports.GetStoriesSortTypeEnum = {
Asc: 'asc',
Desc: 'desc'
};
/**
* @export
*/
exports.GetStoriesMethodEnum = {
Nl: 'nl',
Kw: 'kw',
Both: 'both'
};
/**
* @export
*/
exports.GetStoriesObjTypeEnum = {
Story: 'story',
StoryUpdate: 'story_update'
};
/**
* @export
*/
exports.GetStoriesCitationMethodEnum = {
Brackets: 'brackets',
Urls: 'urls',
None: 'none'
};
/**
* @export
*/
exports.GetStoriesProvocativeEnum = {
Unknown: 'unknown',
Low: 'low',
Medium: 'medium',
High: 'high',
All: 'all'
};
/**
* @export
*/
exports.GetStoriesStrategyEnum = {
Default: 'default',
Topstories: 'topstories',
TopstoriesCategories: 'topstories_categories',
TopstoriesContinents: 'topstories_continents'
};
/**
* @export
*/
exports.GetStoryCitationMethodEnum = {
Brackets: 'brackets',
Urls: 'urls',
None: 'none'
};