UNPKG

mailslurp-client

Version:

Official client for MailSlurp Email and SMS API. Create email addresses and phone numbers in Javascript without a mail server. Send and receive real emails in applications or tests.

552 lines (480 loc) 15.3 kB
/* tslint:disable */ /* eslint-disable */ /** * MailSlurp API * MailSlurp is an API for sending and receiving emails from dynamically allocated email addresses. It\'s designed for developers and QA teams to test applications, process inbound emails, send templated notifications, attachments, and more. ## Resources - [Homepage](https://www.mailslurp.com) - Get an [API KEY](https://app.mailslurp.com/sign-up/) - Generated [SDK Clients](https://docs.mailslurp.com/) - [Examples](https://github.com/mailslurp/examples) repository * * The version of the OpenAPI document: 6.5.2 * Contact: contact@mailslurp.dev * * 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 { CreateTemplateOptions, CreateTemplateOptionsFromJSON, CreateTemplateOptionsToJSON, PageTemplateProjection, PageTemplateProjectionFromJSON, PageTemplateProjectionToJSON, TemplateDto, TemplateDtoFromJSON, TemplateDtoToJSON, TemplatePreview, TemplatePreviewFromJSON, TemplatePreviewToJSON, TemplateProjection, TemplateProjectionFromJSON, TemplateProjectionToJSON, } from '../models'; export interface CreateTemplateRequest { createTemplateOptions: CreateTemplateOptions; } export interface DeleteTemplateRequest { templateId: string; } export interface GetAllTemplatesRequest { page?: number; size?: number; sort?: GetAllTemplatesSortEnum; since?: Date; before?: Date; } export interface GetTemplateRequest { templateId: string; } export interface GetTemplatePreviewHtmlRequest { templateId: string; } export interface GetTemplatePreviewJsonRequest { templateId: string; } export interface UpdateTemplateRequest { templateId: string; createTemplateOptions: CreateTemplateOptions; } /** * */ export class TemplateControllerApi extends runtime.BaseAPI { /** * Create an email template with variables for use with templated transactional emails. * Create a Template */ async createTemplateRaw( requestParameters: CreateTemplateRequest, initOverrides?: RequestInit ): Promise<runtime.ApiResponse<TemplateDto>> { if ( requestParameters.createTemplateOptions === null || requestParameters.createTemplateOptions === undefined ) { throw new runtime.RequiredError( 'createTemplateOptions', 'Required parameter requestParameters.createTemplateOptions was null or undefined when calling createTemplate.' ); } const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; headerParameters['Content-Type'] = 'application/json'; if (this.configuration && this.configuration.apiKey) { headerParameters['x-api-key'] = this.configuration.apiKey('x-api-key'); // API_KEY authentication } const response = await this.request( { path: `/templates`, method: 'POST', headers: headerParameters, query: queryParameters, body: CreateTemplateOptionsToJSON( requestParameters.createTemplateOptions ), }, initOverrides ); return new runtime.JSONApiResponse(response, (jsonValue) => TemplateDtoFromJSON(jsonValue) ); } /** * Create an email template with variables for use with templated transactional emails. * Create a Template */ async createTemplate( requestParameters: CreateTemplateRequest, initOverrides?: RequestInit ): Promise<TemplateDto> { const response = await this.createTemplateRaw( requestParameters, initOverrides ); return await response.value(); } /** * Delete template * Delete email template */ async deleteTemplateRaw( requestParameters: DeleteTemplateRequest, initOverrides?: RequestInit ): Promise<runtime.ApiResponse<void>> { if ( requestParameters.templateId === null || requestParameters.templateId === undefined ) { throw new runtime.RequiredError( 'templateId', 'Required parameter requestParameters.templateId was null or undefined when calling deleteTemplate.' ); } const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; if (this.configuration && this.configuration.apiKey) { headerParameters['x-api-key'] = this.configuration.apiKey('x-api-key'); // API_KEY authentication } const response = await this.request( { path: `/templates/{templateId}`.replace( `{${'templateId'}}`, encodeURIComponent(String(requestParameters.templateId)) ), method: 'DELETE', headers: headerParameters, query: queryParameters, }, initOverrides ); return new runtime.VoidApiResponse(response); } /** * Delete template * Delete email template */ async deleteTemplate( requestParameters: DeleteTemplateRequest, initOverrides?: RequestInit ): Promise<void> { await this.deleteTemplateRaw(requestParameters, initOverrides); } /** * Get all templates in paginated format * List templates */ async getAllTemplatesRaw( requestParameters: GetAllTemplatesRequest, initOverrides?: RequestInit ): Promise<runtime.ApiResponse<PageTemplateProjection>> { const queryParameters: any = {}; if (requestParameters.page !== undefined) { queryParameters['page'] = requestParameters.page; } if (requestParameters.size !== undefined) { queryParameters['size'] = requestParameters.size; } if (requestParameters.sort !== undefined) { queryParameters['sort'] = requestParameters.sort; } if (requestParameters.since !== undefined) { queryParameters['since'] = (requestParameters.since as any).toISOString(); } if (requestParameters.before !== undefined) { queryParameters['before'] = ( requestParameters.before as any ).toISOString(); } const headerParameters: runtime.HTTPHeaders = {}; if (this.configuration && this.configuration.apiKey) { headerParameters['x-api-key'] = this.configuration.apiKey('x-api-key'); // API_KEY authentication } const response = await this.request( { path: `/templates/paginated`, method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides ); return new runtime.JSONApiResponse(response, (jsonValue) => PageTemplateProjectionFromJSON(jsonValue) ); } /** * Get all templates in paginated format * List templates */ async getAllTemplates( requestParameters: GetAllTemplatesRequest, initOverrides?: RequestInit ): Promise<PageTemplateProjection> { const response = await this.getAllTemplatesRaw( requestParameters, initOverrides ); return await response.value(); } /** * Get email template * Get template */ async getTemplateRaw( requestParameters: GetTemplateRequest, initOverrides?: RequestInit ): Promise<runtime.ApiResponse<TemplateDto>> { if ( requestParameters.templateId === null || requestParameters.templateId === undefined ) { throw new runtime.RequiredError( 'templateId', 'Required parameter requestParameters.templateId was null or undefined when calling getTemplate.' ); } const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; if (this.configuration && this.configuration.apiKey) { headerParameters['x-api-key'] = this.configuration.apiKey('x-api-key'); // API_KEY authentication } const response = await this.request( { path: `/templates/{templateId}`.replace( `{${'templateId'}}`, encodeURIComponent(String(requestParameters.templateId)) ), method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides ); return new runtime.JSONApiResponse(response, (jsonValue) => TemplateDtoFromJSON(jsonValue) ); } /** * Get email template * Get template */ async getTemplate( requestParameters: GetTemplateRequest, initOverrides?: RequestInit ): Promise<TemplateDto> { const response = await this.getTemplateRaw( requestParameters, initOverrides ); return await response.value(); } /** * Get email template preview with passed template variables in HTML format for browsers. Pass template variables as query params. * Get template preview HTML */ async getTemplatePreviewHtmlRaw( requestParameters: GetTemplatePreviewHtmlRequest, initOverrides?: RequestInit ): Promise<runtime.ApiResponse<string>> { if ( requestParameters.templateId === null || requestParameters.templateId === undefined ) { throw new runtime.RequiredError( 'templateId', 'Required parameter requestParameters.templateId was null or undefined when calling getTemplatePreviewHtml.' ); } const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; if (this.configuration && this.configuration.apiKey) { headerParameters['x-api-key'] = this.configuration.apiKey('x-api-key'); // API_KEY authentication } const response = await this.request( { path: `/templates/{templateId}/preview/html`.replace( `{${'templateId'}}`, encodeURIComponent(String(requestParameters.templateId)) ), method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides ); return new runtime.TextApiResponse(response) as any; } /** * Get email template preview with passed template variables in HTML format for browsers. Pass template variables as query params. * Get template preview HTML */ async getTemplatePreviewHtml( requestParameters: GetTemplatePreviewHtmlRequest, initOverrides?: RequestInit ): Promise<string> { const response = await this.getTemplatePreviewHtmlRaw( requestParameters, initOverrides ); return await response.value(); } /** * Get email template preview with passed template variables in JSON format. Pass template variables as query params. * Get template preview Json */ async getTemplatePreviewJsonRaw( requestParameters: GetTemplatePreviewJsonRequest, initOverrides?: RequestInit ): Promise<runtime.ApiResponse<TemplatePreview>> { if ( requestParameters.templateId === null || requestParameters.templateId === undefined ) { throw new runtime.RequiredError( 'templateId', 'Required parameter requestParameters.templateId was null or undefined when calling getTemplatePreviewJson.' ); } const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; if (this.configuration && this.configuration.apiKey) { headerParameters['x-api-key'] = this.configuration.apiKey('x-api-key'); // API_KEY authentication } const response = await this.request( { path: `/templates/{templateId}/preview/json`.replace( `{${'templateId'}}`, encodeURIComponent(String(requestParameters.templateId)) ), method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides ); return new runtime.JSONApiResponse(response, (jsonValue) => TemplatePreviewFromJSON(jsonValue) ); } /** * Get email template preview with passed template variables in JSON format. Pass template variables as query params. * Get template preview Json */ async getTemplatePreviewJson( requestParameters: GetTemplatePreviewJsonRequest, initOverrides?: RequestInit ): Promise<TemplatePreview> { const response = await this.getTemplatePreviewJsonRaw( requestParameters, initOverrides ); return await response.value(); } /** * Get all templates * List templates */ async getTemplatesRaw( initOverrides?: RequestInit ): Promise<runtime.ApiResponse<Array<TemplateProjection>>> { const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; if (this.configuration && this.configuration.apiKey) { headerParameters['x-api-key'] = this.configuration.apiKey('x-api-key'); // API_KEY authentication } const response = await this.request( { path: `/templates`, method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides ); return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(TemplateProjectionFromJSON) ); } /** * Get all templates * List templates */ async getTemplates( initOverrides?: RequestInit ): Promise<Array<TemplateProjection>> { const response = await this.getTemplatesRaw(initOverrides); return await response.value(); } /** * Update email template * Update template */ async updateTemplateRaw( requestParameters: UpdateTemplateRequest, initOverrides?: RequestInit ): Promise<runtime.ApiResponse<TemplateDto>> { if ( requestParameters.templateId === null || requestParameters.templateId === undefined ) { throw new runtime.RequiredError( 'templateId', 'Required parameter requestParameters.templateId was null or undefined when calling updateTemplate.' ); } if ( requestParameters.createTemplateOptions === null || requestParameters.createTemplateOptions === undefined ) { throw new runtime.RequiredError( 'createTemplateOptions', 'Required parameter requestParameters.createTemplateOptions was null or undefined when calling updateTemplate.' ); } const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; headerParameters['Content-Type'] = 'application/json'; if (this.configuration && this.configuration.apiKey) { headerParameters['x-api-key'] = this.configuration.apiKey('x-api-key'); // API_KEY authentication } const response = await this.request( { path: `/templates/{templateId}`.replace( `{${'templateId'}}`, encodeURIComponent(String(requestParameters.templateId)) ), method: 'PUT', headers: headerParameters, query: queryParameters, body: CreateTemplateOptionsToJSON( requestParameters.createTemplateOptions ), }, initOverrides ); return new runtime.JSONApiResponse(response, (jsonValue) => TemplateDtoFromJSON(jsonValue) ); } /** * Update email template * Update template */ async updateTemplate( requestParameters: UpdateTemplateRequest, initOverrides?: RequestInit ): Promise<TemplateDto> { const response = await this.updateTemplateRaw( requestParameters, initOverrides ); return await response.value(); } } /** * @export * @enum {string} */ export enum GetAllTemplatesSortEnum { ASC = 'ASC', DESC = 'DESC', }