UNPKG

@emergentmethods/asknews-typescript-sdk

Version:
603 lines (492 loc) 23.9 kB
/* 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); } }