@emergentmethods/asknews-typescript-sdk
Version:
Typescript SDK for AskNews API
603 lines (492 loc) • 23.9 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 {
CreateNewsletterRequest,
HTTPValidationError,
NewsletterContactCreateResponse,
NewsletterContactRequest,
NewsletterContactResponse,
NewsletterContactUpdateResponse,
NewsletterResponse,
PaginatedResponseNewsletterPublicResponse,
PaginatedResponseNewsletterResponse,
UpdateNewsletterRequest,
} from '../models/index';
import {
CreateNewsletterRequestFromJSON,
CreateNewsletterRequestToJSON,
HTTPValidationErrorFromJSON,
HTTPValidationErrorToJSON,
NewsletterContactCreateResponseFromJSON,
NewsletterContactCreateResponseToJSON,
NewsletterContactRequestFromJSON,
NewsletterContactRequestToJSON,
NewsletterContactResponseFromJSON,
NewsletterContactResponseToJSON,
NewsletterContactUpdateResponseFromJSON,
NewsletterContactUpdateResponseToJSON,
NewsletterResponseFromJSON,
NewsletterResponseToJSON,
PaginatedResponseNewsletterPublicResponseFromJSON,
PaginatedResponseNewsletterPublicResponseToJSON,
PaginatedResponseNewsletterResponseFromJSON,
PaginatedResponseNewsletterResponseToJSON,
UpdateNewsletterRequestFromJSON,
UpdateNewsletterRequestToJSON,
} from '../models/index';
export interface DeleteNewsletterRequest {
newsletterId: string;
}
export interface DeleteNewsletterContactRequest {
newsletterId: string;
contactId: string;
}
export interface GetNewsletterRequest {
newsletterId: string;
}
export interface GetNewsletterContactRequest {
newsletterId: string;
contactId: string;
}
export interface GetNewsletterContactsRequest {
newsletterId: string;
}
export interface GetPublicNewslettersRequest {
page?: number;
perPage?: number;
all?: boolean;
}
export interface PatchNewsletterContactRequest {
newsletterId: string;
contactId: string;
newsletterContactRequest: NewsletterContactRequest;
}
export interface PostNewsletterRequest {
createNewsletterRequest: CreateNewsletterRequest;
}
export interface PostNewsletterContactsRequest {
newsletterId: string;
newsletterContactRequest: NewsletterContactRequest;
}
export interface PutNewsletterRequest {
newsletterId: string;
updateNewsletterRequest: UpdateNewsletterRequest;
}
export interface UnsubscribeNewsletterRequest {
newsletterId: string;
}
/**
*
*/
export class NewslettersApi extends runtime.BaseAPI {
/**
* Delete a newsletter.
* Delete a newsletter
*/
async deleteNewsletterRaw(requestParameters: DeleteNewsletterRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void> > {
if (requestParameters['newsletterId'] == null) {
throw new runtime.RequiredError(
'newsletterId',
'Required parameter "newsletterId" was null or undefined when calling deleteNewsletter().'
);
}
const queryParameters: any = {};
const headerParameters: runtime.HTTPHeaders = {};
const response = await this.request({
path: `/v1/chat/newsletters/{newsletter_id}`.replace(`{${"newsletter_id"}}`, encodeURIComponent(String(requestParameters['newsletterId']))),
method: 'DELETE',
headers: headerParameters,
query: queryParameters,
}, initOverrides);
return new runtime.VoidApiResponse(response);
}
/**
* Delete a newsletter.
* Delete a newsletter
*/
async deleteNewsletter(requestParameters: DeleteNewsletterRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void> {
await this.deleteNewsletterRaw(requestParameters, initOverrides);
}
/**
* Delete a newsletter contact.
* Delete a newsletter contact
*/
async deleteNewsletterContactRaw(requestParameters: DeleteNewsletterContactRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void> > {
if (requestParameters['newsletterId'] == null) {
throw new runtime.RequiredError(
'newsletterId',
'Required parameter "newsletterId" was null or undefined when calling deleteNewsletterContact().'
);
}
if (requestParameters['contactId'] == null) {
throw new runtime.RequiredError(
'contactId',
'Required parameter "contactId" was null or undefined when calling deleteNewsletterContact().'
);
}
const queryParameters: any = {};
const headerParameters: runtime.HTTPHeaders = {};
const response = await this.request({
path: `/v1/chat/newsletters/{newsletter_id}/contacts/{contact_id}`.replace(`{${"newsletter_id"}}`, encodeURIComponent(String(requestParameters['newsletterId']))).replace(`{${"contact_id"}}`, encodeURIComponent(String(requestParameters['contactId']))),
method: 'DELETE',
headers: headerParameters,
query: queryParameters,
}, initOverrides);
return new runtime.VoidApiResponse(response);
}
/**
* Delete a newsletter contact.
* Delete a newsletter contact
*/
async deleteNewsletterContact(requestParameters: DeleteNewsletterContactRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void> {
await this.deleteNewsletterContactRaw(requestParameters, initOverrides);
}
/**
* Get a newsletter.
* Get a newsletter
*/
async getNewsletterRaw(requestParameters: GetNewsletterRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<NewsletterResponse> > {
if (requestParameters['newsletterId'] == null) {
throw new runtime.RequiredError(
'newsletterId',
'Required parameter "newsletterId" was null or undefined when calling getNewsletter().'
);
}
const queryParameters: any = {};
const headerParameters: runtime.HTTPHeaders = {};
const response = await this.request({
path: `/v1/chat/newsletters/{newsletter_id}`.replace(`{${"newsletter_id"}}`, encodeURIComponent(String(requestParameters['newsletterId']))),
method: 'GET',
headers: headerParameters,
query: queryParameters,
}, initOverrides);
return new runtime.JSONApiResponse(response, (jsonValue) => NewsletterResponseFromJSON(jsonValue));
}
/**
* Get a newsletter.
* Get a newsletter
*/
async getNewsletter(requestParameters: GetNewsletterRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<NewsletterResponse> {
const response = await this.getNewsletterRaw(requestParameters, initOverrides);
return await response.value();
}
/**
* Get a newsletter contact.
* Get a newsletter contact
*/
async getNewsletterContactRaw(requestParameters: GetNewsletterContactRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<NewsletterContactResponse> > {
if (requestParameters['newsletterId'] == null) {
throw new runtime.RequiredError(
'newsletterId',
'Required parameter "newsletterId" was null or undefined when calling getNewsletterContact().'
);
}
if (requestParameters['contactId'] == null) {
throw new runtime.RequiredError(
'contactId',
'Required parameter "contactId" was null or undefined when calling getNewsletterContact().'
);
}
const queryParameters: any = {};
const headerParameters: runtime.HTTPHeaders = {};
const response = await this.request({
path: `/v1/chat/newsletters/{newsletter_id}/contacts/{contact_id}`.replace(`{${"newsletter_id"}}`, encodeURIComponent(String(requestParameters['newsletterId']))).replace(`{${"contact_id"}}`, encodeURIComponent(String(requestParameters['contactId']))),
method: 'GET',
headers: headerParameters,
query: queryParameters,
}, initOverrides);
return new runtime.JSONApiResponse(response, (jsonValue) => NewsletterContactResponseFromJSON(jsonValue));
}
/**
* Get a newsletter contact.
* Get a newsletter contact
*/
async getNewsletterContact(requestParameters: GetNewsletterContactRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<NewsletterContactResponse> {
const response = await this.getNewsletterContactRaw(requestParameters, initOverrides);
return await response.value();
}
/**
* Get newsletter contacts.
* Get newsletter contacts
*/
async getNewsletterContactsRaw(requestParameters: GetNewsletterContactsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<NewsletterContactResponse>> > {
if (requestParameters['newsletterId'] == null) {
throw new runtime.RequiredError(
'newsletterId',
'Required parameter "newsletterId" was null or undefined when calling getNewsletterContacts().'
);
}
const queryParameters: any = {};
const headerParameters: runtime.HTTPHeaders = {};
const response = await this.request({
path: `/v1/chat/newsletters/{newsletter_id}/contacts`.replace(`{${"newsletter_id"}}`, encodeURIComponent(String(requestParameters['newsletterId']))),
method: 'GET',
headers: headerParameters,
query: queryParameters,
}, initOverrides);
return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(NewsletterContactResponseFromJSON));
}
/**
* Get newsletter contacts.
* Get newsletter contacts
*/
async getNewsletterContacts(requestParameters: GetNewsletterContactsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<NewsletterContactResponse>> {
const response = await this.getNewsletterContactsRaw(requestParameters, initOverrides);
return await response.value();
}
/**
* Get all created newsletters.
* Get all created newsletters
*/
async getNewslettersRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<PaginatedResponseNewsletterResponse> > {
const queryParameters: any = {};
const headerParameters: runtime.HTTPHeaders = {};
const response = await this.request({
path: `/v1/chat/newsletters`,
method: 'GET',
headers: headerParameters,
query: queryParameters,
}, initOverrides);
return new runtime.JSONApiResponse(response, (jsonValue) => PaginatedResponseNewsletterResponseFromJSON(jsonValue));
}
/**
* Get all created newsletters.
* Get all created newsletters
*/
async getNewsletters(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<PaginatedResponseNewsletterResponse> {
const response = await this.getNewslettersRaw(initOverrides);
return await response.value();
}
/**
* Get all public newsletters.
* Get all public newsletters
*/
async getPublicNewslettersRaw(requestParameters: GetPublicNewslettersRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<PaginatedResponseNewsletterPublicResponse> > {
const queryParameters: any = {};
if (requestParameters['page'] != null) {
queryParameters['page'] = requestParameters['page'];
}
if (requestParameters['perPage'] != null) {
queryParameters['per_page'] = requestParameters['perPage'];
}
if (requestParameters['all'] != null) {
queryParameters['all'] = requestParameters['all'];
}
const headerParameters: runtime.HTTPHeaders = {};
const response = await this.request({
path: `/v1/chat/newsletters/public`,
method: 'GET',
headers: headerParameters,
query: queryParameters,
}, initOverrides);
return new runtime.JSONApiResponse(response, (jsonValue) => PaginatedResponseNewsletterPublicResponseFromJSON(jsonValue));
}
/**
* Get all public newsletters.
* Get all public newsletters
*/
async getPublicNewsletters(requestParameters: GetPublicNewslettersRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<PaginatedResponseNewsletterPublicResponse> {
const response = await this.getPublicNewslettersRaw(requestParameters, initOverrides);
return await response.value();
}
/**
* Update a newsletter contact.
* Update a newsletter contact
*/
async patchNewsletterContactRaw(requestParameters: PatchNewsletterContactRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<NewsletterContactUpdateResponse> | runtime.StreamApiResponse> {
if (requestParameters['newsletterId'] == null) {
throw new runtime.RequiredError(
'newsletterId',
'Required parameter "newsletterId" was null or undefined when calling patchNewsletterContact().'
);
}
if (requestParameters['contactId'] == null) {
throw new runtime.RequiredError(
'contactId',
'Required parameter "contactId" was null or undefined when calling patchNewsletterContact().'
);
}
if (requestParameters['newsletterContactRequest'] == null) {
throw new runtime.RequiredError(
'newsletterContactRequest',
'Required parameter "newsletterContactRequest" was null or undefined when calling patchNewsletterContact().'
);
}
const queryParameters: any = {};
const headerParameters: runtime.HTTPHeaders = {};
headerParameters['Content-Type'] = 'application/json';
const response = await this.request({
path: `/v1/chat/newsletters/{newsletter_id}/contacts/{contact_id}`.replace(`{${"newsletter_id"}}`, encodeURIComponent(String(requestParameters['newsletterId']))).replace(`{${"contact_id"}}`, encodeURIComponent(String(requestParameters['contactId']))),
method: 'PATCH',
headers: headerParameters,
query: queryParameters,
body: NewsletterContactRequestToJSON(requestParameters['newsletterContactRequest']),
}, initOverrides);
if ('newsletterContactRequest' in requestParameters && requestParameters['newsletterContactRequest'] != null && 'stream' in requestParameters['newsletterContactRequest'] && requestParameters['newsletterContactRequest']['stream'] === true) {
return new runtime.StreamApiResponse(response);
}
return new runtime.JSONApiResponse(response, (jsonValue) => NewsletterContactUpdateResponseFromJSON(jsonValue));
}
/**
* Update a newsletter contact.
* Update a newsletter contact
*/
async patchNewsletterContact(requestParameters: PatchNewsletterContactRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<NewsletterContactUpdateResponse | ReadableStream<any>> {
const response = await this.patchNewsletterContactRaw(requestParameters, initOverrides);
return await response.value();
}
/**
* Create a newsletter.
* Create a newsletter
*/
async postNewsletterRaw(requestParameters: PostNewsletterRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<NewsletterResponse> | runtime.StreamApiResponse> {
if (requestParameters['createNewsletterRequest'] == null) {
throw new runtime.RequiredError(
'createNewsletterRequest',
'Required parameter "createNewsletterRequest" was null or undefined when calling postNewsletter().'
);
}
const queryParameters: any = {};
const headerParameters: runtime.HTTPHeaders = {};
headerParameters['Content-Type'] = 'application/json';
const response = await this.request({
path: `/v1/chat/newsletters`,
method: 'POST',
headers: headerParameters,
query: queryParameters,
body: CreateNewsletterRequestToJSON(requestParameters['createNewsletterRequest']),
}, initOverrides);
if ('createNewsletterRequest' in requestParameters && requestParameters['createNewsletterRequest'] != null && 'stream' in requestParameters['createNewsletterRequest'] && requestParameters['createNewsletterRequest']['stream'] === true) {
return new runtime.StreamApiResponse(response);
}
return new runtime.JSONApiResponse(response, (jsonValue) => NewsletterResponseFromJSON(jsonValue));
}
/**
* Create a newsletter.
* Create a newsletter
*/
async postNewsletter(requestParameters: PostNewsletterRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<NewsletterResponse | ReadableStream<any>> {
const response = await this.postNewsletterRaw(requestParameters, initOverrides);
return await response.value();
}
/**
* Create a newsletter contact.
* Create a newsletter contact
*/
async postNewsletterContactsRaw(requestParameters: PostNewsletterContactsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<NewsletterContactCreateResponse> | runtime.StreamApiResponse> {
if (requestParameters['newsletterId'] == null) {
throw new runtime.RequiredError(
'newsletterId',
'Required parameter "newsletterId" was null or undefined when calling postNewsletterContacts().'
);
}
if (requestParameters['newsletterContactRequest'] == null) {
throw new runtime.RequiredError(
'newsletterContactRequest',
'Required parameter "newsletterContactRequest" was null or undefined when calling postNewsletterContacts().'
);
}
const queryParameters: any = {};
const headerParameters: runtime.HTTPHeaders = {};
headerParameters['Content-Type'] = 'application/json';
const response = await this.request({
path: `/v1/chat/newsletters/{newsletter_id}/contacts`.replace(`{${"newsletter_id"}}`, encodeURIComponent(String(requestParameters['newsletterId']))),
method: 'POST',
headers: headerParameters,
query: queryParameters,
body: NewsletterContactRequestToJSON(requestParameters['newsletterContactRequest']),
}, initOverrides);
if ('newsletterContactRequest' in requestParameters && requestParameters['newsletterContactRequest'] != null && 'stream' in requestParameters['newsletterContactRequest'] && requestParameters['newsletterContactRequest']['stream'] === true) {
return new runtime.StreamApiResponse(response);
}
return new runtime.JSONApiResponse(response, (jsonValue) => NewsletterContactCreateResponseFromJSON(jsonValue));
}
/**
* Create a newsletter contact.
* Create a newsletter contact
*/
async postNewsletterContacts(requestParameters: PostNewsletterContactsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<NewsletterContactCreateResponse | ReadableStream<any>> {
const response = await this.postNewsletterContactsRaw(requestParameters, initOverrides);
return await response.value();
}
/**
* Update a newsletter.
* Update a newsletter
*/
async putNewsletterRaw(requestParameters: PutNewsletterRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<NewsletterResponse> | runtime.StreamApiResponse> {
if (requestParameters['newsletterId'] == null) {
throw new runtime.RequiredError(
'newsletterId',
'Required parameter "newsletterId" was null or undefined when calling putNewsletter().'
);
}
if (requestParameters['updateNewsletterRequest'] == null) {
throw new runtime.RequiredError(
'updateNewsletterRequest',
'Required parameter "updateNewsletterRequest" was null or undefined when calling putNewsletter().'
);
}
const queryParameters: any = {};
const headerParameters: runtime.HTTPHeaders = {};
headerParameters['Content-Type'] = 'application/json';
const response = await this.request({
path: `/v1/chat/newsletters/{newsletter_id}`.replace(`{${"newsletter_id"}}`, encodeURIComponent(String(requestParameters['newsletterId']))),
method: 'PUT',
headers: headerParameters,
query: queryParameters,
body: UpdateNewsletterRequestToJSON(requestParameters['updateNewsletterRequest']),
}, initOverrides);
if ('updateNewsletterRequest' in requestParameters && requestParameters['updateNewsletterRequest'] != null && 'stream' in requestParameters['updateNewsletterRequest'] && requestParameters['updateNewsletterRequest']['stream'] === true) {
return new runtime.StreamApiResponse(response);
}
return new runtime.JSONApiResponse(response, (jsonValue) => NewsletterResponseFromJSON(jsonValue));
}
/**
* Update a newsletter.
* Update a newsletter
*/
async putNewsletter(requestParameters: PutNewsletterRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<NewsletterResponse | ReadableStream<any>> {
const response = await this.putNewsletterRaw(requestParameters, initOverrides);
return await response.value();
}
/**
* Unsubscribe from a newsletter.
* Unsubscribe from a newsletter
*/
async unsubscribeNewsletterRaw(requestParameters: UnsubscribeNewsletterRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void> > {
if (requestParameters['newsletterId'] == null) {
throw new runtime.RequiredError(
'newsletterId',
'Required parameter "newsletterId" was null or undefined when calling unsubscribeNewsletter().'
);
}
const queryParameters: any = {};
const headerParameters: runtime.HTTPHeaders = {};
const response = await this.request({
path: `/v1/chat/newsletters/{newsletter_id}/unsubscribe`.replace(`{${"newsletter_id"}}`, encodeURIComponent(String(requestParameters['newsletterId']))),
method: 'POST',
headers: headerParameters,
query: queryParameters,
}, initOverrides);
return new runtime.VoidApiResponse(response);
}
/**
* Unsubscribe from a newsletter.
* Unsubscribe from a newsletter
*/
async unsubscribeNewsletter(requestParameters: UnsubscribeNewsletterRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void> {
await this.unsubscribeNewsletterRaw(requestParameters, initOverrides);
}
}