/* 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 { CampaignProbeDto, CampaignProbeDtoFromJSON, CampaignProbeDtoToJSON, CampaignProbeInsightsDto, CampaignProbeInsightsDtoFromJSON, CampaignProbeInsightsDtoToJSON, CampaignProbeRunComparisonDto, CampaignProbeRunComparisonDtoFromJSON, CampaignProbeRunComparisonDtoToJSON, CampaignProbeRunDto, CampaignProbeRunDtoFromJSON, CampaignProbeRunDtoToJSON, CampaignProbeRunDueResult, CampaignProbeRunDueResultFromJSON, CampaignProbeRunDueResultToJSON, CampaignProbeRunNowResult, CampaignProbeRunNowResultFromJSON, CampaignProbeRunNowResultToJSON, CampaignProbeSeriesDto, CampaignProbeSeriesDtoFromJSON, CampaignProbeSeriesDtoToJSON, CreateCampaignProbeOptions, CreateCampaignProbeOptionsFromJSON, CreateCampaignProbeOptionsToJSON, CreateCampaignProbeRunOptions, CreateCampaignProbeRunOptionsFromJSON, CreateCampaignProbeRunOptionsToJSON, UpdateCampaignProbeOptions, UpdateCampaignProbeOptionsFromJSON, UpdateCampaignProbeOptionsToJSON, } from '../models'; export interface CompareCampaignProbeRunsRequest { probeId: string; runId: string; otherRunId: string; } export interface CreateCampaignProbeRequest { createCampaignProbeOptions: CreateCampaignProbeOptions; } export interface DeleteCampaignProbeRequest { probeId: string; } export interface GetCampaignProbeRequest { probeId: string; } export interface GetCampaignProbeInsightsRequest { probeId: string; since?: Date; before?: Date; } export interface GetCampaignProbeRunRequest { probeId: string; runId: string; } export interface GetCampaignProbeRunsRequest { probeId: string; since?: Date; before?: Date; status?: GetCampaignProbeRunsStatusEnum; limit?: number; } export interface GetCampaignProbeSeriesRequest { probeId: string; since?: Date; before?: Date; bucket?: GetCampaignProbeSeriesBucketEnum; } export interface RunCampaignProbeNowRequest { probeId: string; createCampaignProbeRunOptions: CreateCampaignProbeRunOptions; } export interface RunDueCampaignProbesRequest { maxRuns?: number; } export interface UpdateCampaignProbeRequest { probeId: string; updateCampaignProbeOptions: UpdateCampaignProbeOptions; } /** * */ export class CampaignProbeControllerApi extends runtime.BaseAPI { /** * Compare two campaign probe runs */ async compareCampaignProbeRunsRaw( requestParameters: CompareCampaignProbeRunsRequest, initOverrides?: RequestInit ): Promise> { if ( requestParameters.probeId === null || requestParameters.probeId === undefined ) { throw new runtime.RequiredError( 'probeId', 'Required parameter requestParameters.probeId was null or undefined when calling compareCampaignProbeRuns.' ); } if ( requestParameters.runId === null || requestParameters.runId === undefined ) { throw new runtime.RequiredError( 'runId', 'Required parameter requestParameters.runId was null or undefined when calling compareCampaignProbeRuns.' ); } if ( requestParameters.otherRunId === null || requestParameters.otherRunId === undefined ) { throw new runtime.RequiredError( 'otherRunId', 'Required parameter requestParameters.otherRunId was null or undefined when calling compareCampaignProbeRuns.' ); } 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: `/campaign-probe/probes/{probeId}/runs/{runId}/compare/{otherRunId}` .replace( `{${'probeId'}}`, encodeURIComponent(String(requestParameters.probeId)) ) .replace( `{${'runId'}}`, encodeURIComponent(String(requestParameters.runId)) ) .replace( `{${'otherRunId'}}`, encodeURIComponent(String(requestParameters.otherRunId)) ), method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides ); return new runtime.JSONApiResponse(response, (jsonValue) => CampaignProbeRunComparisonDtoFromJSON(jsonValue) ); } /** * Compare two campaign probe runs */ async compareCampaignProbeRuns( requestParameters: CompareCampaignProbeRunsRequest, initOverrides?: RequestInit ): Promise { const response = await this.compareCampaignProbeRunsRaw( requestParameters, initOverrides ); return await response.value(); } /** * Create campaign probe */ async createCampaignProbeRaw( requestParameters: CreateCampaignProbeRequest, initOverrides?: RequestInit ): Promise> { if ( requestParameters.createCampaignProbeOptions === null || requestParameters.createCampaignProbeOptions === undefined ) { throw new runtime.RequiredError( 'createCampaignProbeOptions', 'Required parameter requestParameters.createCampaignProbeOptions was null or undefined when calling createCampaignProbe.' ); } 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: `/campaign-probe/probes`, method: 'POST', headers: headerParameters, query: queryParameters, body: CreateCampaignProbeOptionsToJSON( requestParameters.createCampaignProbeOptions ), }, initOverrides ); return new runtime.JSONApiResponse(response, (jsonValue) => CampaignProbeDtoFromJSON(jsonValue) ); } /** * Create campaign probe */ async createCampaignProbe( requestParameters: CreateCampaignProbeRequest, initOverrides?: RequestInit ): Promise { const response = await this.createCampaignProbeRaw( requestParameters, initOverrides ); return await response.value(); } /** * Delete campaign probe */ async deleteCampaignProbeRaw( requestParameters: DeleteCampaignProbeRequest, initOverrides?: RequestInit ): Promise> { if ( requestParameters.probeId === null || requestParameters.probeId === undefined ) { throw new runtime.RequiredError( 'probeId', 'Required parameter requestParameters.probeId was null or undefined when calling deleteCampaignProbe.' ); } 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: `/campaign-probe/probes/{probeId}`.replace( `{${'probeId'}}`, encodeURIComponent(String(requestParameters.probeId)) ), method: 'DELETE', headers: headerParameters, query: queryParameters, }, initOverrides ); return new runtime.VoidApiResponse(response); } /** * Delete campaign probe */ async deleteCampaignProbe( requestParameters: DeleteCampaignProbeRequest, initOverrides?: RequestInit ): Promise { await this.deleteCampaignProbeRaw(requestParameters, initOverrides); } /** * Get campaign probe */ async getCampaignProbeRaw( requestParameters: GetCampaignProbeRequest, initOverrides?: RequestInit ): Promise> { if ( requestParameters.probeId === null || requestParameters.probeId === undefined ) { throw new runtime.RequiredError( 'probeId', 'Required parameter requestParameters.probeId was null or undefined when calling getCampaignProbe.' ); } 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: `/campaign-probe/probes/{probeId}`.replace( `{${'probeId'}}`, encodeURIComponent(String(requestParameters.probeId)) ), method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides ); return new runtime.JSONApiResponse(response, (jsonValue) => CampaignProbeDtoFromJSON(jsonValue) ); } /** * Get campaign probe */ async getCampaignProbe( requestParameters: GetCampaignProbeRequest, initOverrides?: RequestInit ): Promise { const response = await this.getCampaignProbeRaw( requestParameters, initOverrides ); return await response.value(); } /** * Get campaign probe insights */ async getCampaignProbeInsightsRaw( requestParameters: GetCampaignProbeInsightsRequest, initOverrides?: RequestInit ): Promise> { if ( requestParameters.probeId === null || requestParameters.probeId === undefined ) { throw new runtime.RequiredError( 'probeId', 'Required parameter requestParameters.probeId was null or undefined when calling getCampaignProbeInsights.' ); } const queryParameters: any = {}; 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: `/campaign-probe/probes/{probeId}/insights`.replace( `{${'probeId'}}`, encodeURIComponent(String(requestParameters.probeId)) ), method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides ); return new runtime.JSONApiResponse(response, (jsonValue) => CampaignProbeInsightsDtoFromJSON(jsonValue) ); } /** * Get campaign probe insights */ async getCampaignProbeInsights( requestParameters: GetCampaignProbeInsightsRequest, initOverrides?: RequestInit ): Promise { const response = await this.getCampaignProbeInsightsRaw( requestParameters, initOverrides ); return await response.value(); } /** * Get campaign probe run */ async getCampaignProbeRunRaw( requestParameters: GetCampaignProbeRunRequest, initOverrides?: RequestInit ): Promise> { if ( requestParameters.probeId === null || requestParameters.probeId === undefined ) { throw new runtime.RequiredError( 'probeId', 'Required parameter requestParameters.probeId was null or undefined when calling getCampaignProbeRun.' ); } if ( requestParameters.runId === null || requestParameters.runId === undefined ) { throw new runtime.RequiredError( 'runId', 'Required parameter requestParameters.runId was null or undefined when calling getCampaignProbeRun.' ); } 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: `/campaign-probe/probes/{probeId}/runs/{runId}` .replace( `{${'probeId'}}`, encodeURIComponent(String(requestParameters.probeId)) ) .replace( `{${'runId'}}`, encodeURIComponent(String(requestParameters.runId)) ), method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides ); return new runtime.JSONApiResponse(response, (jsonValue) => CampaignProbeRunDtoFromJSON(jsonValue) ); } /** * Get campaign probe run */ async getCampaignProbeRun( requestParameters: GetCampaignProbeRunRequest, initOverrides?: RequestInit ): Promise { const response = await this.getCampaignProbeRunRaw( requestParameters, initOverrides ); return await response.value(); } /** * List campaign probe runs */ async getCampaignProbeRunsRaw( requestParameters: GetCampaignProbeRunsRequest, initOverrides?: RequestInit ): Promise>> { if ( requestParameters.probeId === null || requestParameters.probeId === undefined ) { throw new runtime.RequiredError( 'probeId', 'Required parameter requestParameters.probeId was null or undefined when calling getCampaignProbeRuns.' ); } const queryParameters: any = {}; if (requestParameters.since !== undefined) { queryParameters['since'] = (requestParameters.since as any).toISOString(); } if (requestParameters.before !== undefined) { queryParameters['before'] = ( requestParameters.before as any ).toISOString(); } if (requestParameters.status !== undefined) { queryParameters['status'] = requestParameters.status; } 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: `/campaign-probe/probes/{probeId}/runs`.replace( `{${'probeId'}}`, encodeURIComponent(String(requestParameters.probeId)) ), method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides ); return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(CampaignProbeRunDtoFromJSON) ); } /** * List campaign probe runs */ async getCampaignProbeRuns( requestParameters: GetCampaignProbeRunsRequest, initOverrides?: RequestInit ): Promise> { const response = await this.getCampaignProbeRunsRaw( requestParameters, initOverrides ); return await response.value(); } /** * Get campaign probe trend series */ async getCampaignProbeSeriesRaw( requestParameters: GetCampaignProbeSeriesRequest, initOverrides?: RequestInit ): Promise> { if ( requestParameters.probeId === null || requestParameters.probeId === undefined ) { throw new runtime.RequiredError( 'probeId', 'Required parameter requestParameters.probeId was null or undefined when calling getCampaignProbeSeries.' ); } const queryParameters: any = {}; if (requestParameters.since !== undefined) { queryParameters['since'] = (requestParameters.since as any).toISOString(); } if (requestParameters.before !== undefined) { queryParameters['before'] = ( requestParameters.before as any ).toISOString(); } if (requestParameters.bucket !== undefined) { queryParameters['bucket'] = requestParameters.bucket; } 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: `/campaign-probe/probes/{probeId}/series`.replace( `{${'probeId'}}`, encodeURIComponent(String(requestParameters.probeId)) ), method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides ); return new runtime.JSONApiResponse(response, (jsonValue) => CampaignProbeSeriesDtoFromJSON(jsonValue) ); } /** * Get campaign probe trend series */ async getCampaignProbeSeries( requestParameters: GetCampaignProbeSeriesRequest, initOverrides?: RequestInit ): Promise { const response = await this.getCampaignProbeSeriesRaw( requestParameters, initOverrides ); return await response.value(); } /** * List campaign probes */ async getCampaignProbesRaw( initOverrides?: RequestInit ): Promise>> { 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: `/campaign-probe/probes`, method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides ); return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(CampaignProbeDtoFromJSON) ); } /** * List campaign probes */ async getCampaignProbes( initOverrides?: RequestInit ): Promise> { const response = await this.getCampaignProbesRaw(initOverrides); return await response.value(); } /** * Run campaign probe now */ async runCampaignProbeNowRaw( requestParameters: RunCampaignProbeNowRequest, initOverrides?: RequestInit ): Promise> { if ( requestParameters.probeId === null || requestParameters.probeId === undefined ) { throw new runtime.RequiredError( 'probeId', 'Required parameter requestParameters.probeId was null or undefined when calling runCampaignProbeNow.' ); } if ( requestParameters.createCampaignProbeRunOptions === null || requestParameters.createCampaignProbeRunOptions === undefined ) { throw new runtime.RequiredError( 'createCampaignProbeRunOptions', 'Required parameter requestParameters.createCampaignProbeRunOptions was null or undefined when calling runCampaignProbeNow.' ); } 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: `/campaign-probe/probes/{probeId}/run-now`.replace( `{${'probeId'}}`, encodeURIComponent(String(requestParameters.probeId)) ), method: 'POST', headers: headerParameters, query: queryParameters, body: CreateCampaignProbeRunOptionsToJSON( requestParameters.createCampaignProbeRunOptions ), }, initOverrides ); return new runtime.JSONApiResponse(response, (jsonValue) => CampaignProbeRunNowResultFromJSON(jsonValue) ); } /** * Run campaign probe now */ async runCampaignProbeNow( requestParameters: RunCampaignProbeNowRequest, initOverrides?: RequestInit ): Promise { const response = await this.runCampaignProbeNowRaw( requestParameters, initOverrides ); return await response.value(); } /** * Run due campaign probes for user */ async runDueCampaignProbesRaw( requestParameters: RunDueCampaignProbesRequest, initOverrides?: RequestInit ): Promise> { const queryParameters: any = {}; if (requestParameters.maxRuns !== undefined) { queryParameters['maxRuns'] = requestParameters.maxRuns; } 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: `/campaign-probe/probes/run-due`, method: 'POST', headers: headerParameters, query: queryParameters, }, initOverrides ); return new runtime.JSONApiResponse(response, (jsonValue) => CampaignProbeRunDueResultFromJSON(jsonValue) ); } /** * Run due campaign probes for user */ async runDueCampaignProbes( requestParameters: RunDueCampaignProbesRequest, initOverrides?: RequestInit ): Promise { const response = await this.runDueCampaignProbesRaw( requestParameters, initOverrides ); return await response.value(); } /** * Update campaign probe */ async updateCampaignProbeRaw( requestParameters: UpdateCampaignProbeRequest, initOverrides?: RequestInit ): Promise> { if ( requestParameters.probeId === null || requestParameters.probeId === undefined ) { throw new runtime.RequiredError( 'probeId', 'Required parameter requestParameters.probeId was null or undefined when calling updateCampaignProbe.' ); } if ( requestParameters.updateCampaignProbeOptions === null || requestParameters.updateCampaignProbeOptions === undefined ) { throw new runtime.RequiredError( 'updateCampaignProbeOptions', 'Required parameter requestParameters.updateCampaignProbeOptions was null or undefined when calling updateCampaignProbe.' ); } 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: `/campaign-probe/probes/{probeId}`.replace( `{${'probeId'}}`, encodeURIComponent(String(requestParameters.probeId)) ), method: 'PUT', headers: headerParameters, query: queryParameters, body: UpdateCampaignProbeOptionsToJSON( requestParameters.updateCampaignProbeOptions ), }, initOverrides ); return new runtime.JSONApiResponse(response, (jsonValue) => CampaignProbeDtoFromJSON(jsonValue) ); } /** * Update campaign probe */ async updateCampaignProbe( requestParameters: UpdateCampaignProbeRequest, initOverrides?: RequestInit ): Promise { const response = await this.updateCampaignProbeRaw( requestParameters, initOverrides ); return await response.value(); } } /** * @export * @enum {string} */ export enum GetCampaignProbeRunsStatusEnum { HEALTHY = 'HEALTHY', WARNING = 'WARNING', FAILED = 'FAILED', } /** * @export * @enum {string} */ export enum GetCampaignProbeSeriesBucketEnum { HOUR = 'HOUR', DAY = 'DAY', }