/* tslint:disable */ /* eslint-disable */ /** * MailSlurp API * MailSlurp is an API for sending and receiving emails and SMS from dynamically allocated email addresses and phone numbers. 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 { CreateEmailAuditOptions, CreateEmailAuditOptionsFromJSON, CreateEmailAuditOptionsToJSON, EmailAuditComparisonDto, EmailAuditComparisonDtoFromJSON, EmailAuditComparisonDtoToJSON, EmailAuditDto, EmailAuditDtoFromJSON, EmailAuditDtoToJSON, } from '../models'; export interface CompareEmailAuditsRequest { auditId: string; otherAuditId: string; } export interface CreateEmailAuditRequest { createEmailAuditOptions: CreateEmailAuditOptions; } export interface DeleteEmailAuditRequest { auditId: string; } export interface GetEmailAuditRequest { auditId: string; } export interface GetEmailAuditsRequest { emailId?: string; since?: Date; before?: Date; limit?: number; } /** * */ export class EmailAuditControllerApi extends runtime.BaseAPI { /** * Compare two email audits */ async compareEmailAuditsRaw( requestParameters: CompareEmailAuditsRequest, initOverrides?: RequestInit ): Promise> { if ( requestParameters.auditId === null || requestParameters.auditId === undefined ) { throw new runtime.RequiredError( 'auditId', 'Required parameter requestParameters.auditId was null or undefined when calling compareEmailAudits.' ); } if ( requestParameters.otherAuditId === null || requestParameters.otherAuditId === undefined ) { throw new runtime.RequiredError( 'otherAuditId', 'Required parameter requestParameters.otherAuditId was null or undefined when calling compareEmailAudits.' ); } 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: `/email-audits/{auditId}/compare/{otherAuditId}` .replace( `{${'auditId'}}`, encodeURIComponent(String(requestParameters.auditId)) ) .replace( `{${'otherAuditId'}}`, encodeURIComponent(String(requestParameters.otherAuditId)) ), method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides ); return new runtime.JSONApiResponse(response, (jsonValue) => EmailAuditComparisonDtoFromJSON(jsonValue) ); } /** * Compare two email audits */ async compareEmailAudits( requestParameters: CompareEmailAuditsRequest, initOverrides?: RequestInit ): Promise { const response = await this.compareEmailAuditsRaw( requestParameters, initOverrides ); return await response.value(); } /** * Create email audit */ async createEmailAuditRaw( requestParameters: CreateEmailAuditRequest, initOverrides?: RequestInit ): Promise> { if ( requestParameters.createEmailAuditOptions === null || requestParameters.createEmailAuditOptions === undefined ) { throw new runtime.RequiredError( 'createEmailAuditOptions', 'Required parameter requestParameters.createEmailAuditOptions was null or undefined when calling createEmailAudit.' ); } 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: `/email-audits`, method: 'POST', headers: headerParameters, query: queryParameters, body: CreateEmailAuditOptionsToJSON( requestParameters.createEmailAuditOptions ), }, initOverrides ); return new runtime.JSONApiResponse(response, (jsonValue) => EmailAuditDtoFromJSON(jsonValue) ); } /** * Create email audit */ async createEmailAudit( requestParameters: CreateEmailAuditRequest, initOverrides?: RequestInit ): Promise { const response = await this.createEmailAuditRaw( requestParameters, initOverrides ); return await response.value(); } /** * Delete email audit */ async deleteEmailAuditRaw( requestParameters: DeleteEmailAuditRequest, initOverrides?: RequestInit ): Promise> { if ( requestParameters.auditId === null || requestParameters.auditId === undefined ) { throw new runtime.RequiredError( 'auditId', 'Required parameter requestParameters.auditId was null or undefined when calling deleteEmailAudit.' ); } 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: `/email-audits/{auditId}`.replace( `{${'auditId'}}`, encodeURIComponent(String(requestParameters.auditId)) ), method: 'DELETE', headers: headerParameters, query: queryParameters, }, initOverrides ); return new runtime.VoidApiResponse(response); } /** * Delete email audit */ async deleteEmailAudit( requestParameters: DeleteEmailAuditRequest, initOverrides?: RequestInit ): Promise { await this.deleteEmailAuditRaw(requestParameters, initOverrides); } /** * Get email audit */ async getEmailAuditRaw( requestParameters: GetEmailAuditRequest, initOverrides?: RequestInit ): Promise> { if ( requestParameters.auditId === null || requestParameters.auditId === undefined ) { throw new runtime.RequiredError( 'auditId', 'Required parameter requestParameters.auditId was null or undefined when calling getEmailAudit.' ); } 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: `/email-audits/{auditId}`.replace( `{${'auditId'}}`, encodeURIComponent(String(requestParameters.auditId)) ), method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides ); return new runtime.JSONApiResponse(response, (jsonValue) => EmailAuditDtoFromJSON(jsonValue) ); } /** * Get email audit */ async getEmailAudit( requestParameters: GetEmailAuditRequest, initOverrides?: RequestInit ): Promise { const response = await this.getEmailAuditRaw( requestParameters, initOverrides ); return await response.value(); } /** * List email audits */ async getEmailAuditsRaw( requestParameters: GetEmailAuditsRequest, initOverrides?: RequestInit ): Promise>> { const queryParameters: any = {}; if (requestParameters.emailId !== undefined) { queryParameters['emailId'] = requestParameters.emailId; } if (requestParameters.since !== undefined) { queryParameters['since'] = (requestParameters.since as any).toISOString(); } if (requestParameters.before !== undefined) { queryParameters['before'] = ( requestParameters.before as any ).toISOString(); } if (requestParameters.limit !== undefined) { queryParameters['limit'] = requestParameters.limit; } 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: `/email-audits`, method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides ); return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(EmailAuditDtoFromJSON) ); } /** * List email audits */ async getEmailAudits( requestParameters: GetEmailAuditsRequest, initOverrides?: RequestInit ): Promise> { const response = await this.getEmailAuditsRaw( requestParameters, initOverrides ); return await response.value(); } }