/* 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 { CancelDevicePreviewRunOptions, CancelDevicePreviewRunOptionsFromJSON, CancelDevicePreviewRunOptionsToJSON, CancelDevicePreviewRunResult, CancelDevicePreviewRunResultFromJSON, CancelDevicePreviewRunResultToJSON, CreateDevicePreviewFeedbackOptions, CreateDevicePreviewFeedbackOptionsFromJSON, CreateDevicePreviewFeedbackOptionsToJSON, CreateDevicePreviewOptions, CreateDevicePreviewOptionsFromJSON, CreateDevicePreviewOptionsToJSON, CreateDevicePreviewRunResult, CreateDevicePreviewRunResultFromJSON, CreateDevicePreviewRunResultToJSON, DeleteDevicePreviewRunResult, DeleteDevicePreviewRunResultFromJSON, DeleteDevicePreviewRunResultToJSON, DevicePreviewFeedbackDto, DevicePreviewFeedbackDtoFromJSON, DevicePreviewFeedbackDtoToJSON, DevicePreviewFeedbackListDto, DevicePreviewFeedbackListDtoFromJSON, DevicePreviewFeedbackListDtoToJSON, DevicePreviewProviderProgressDto, DevicePreviewProviderProgressDtoFromJSON, DevicePreviewProviderProgressDtoToJSON, DevicePreviewRunDto, DevicePreviewRunDtoFromJSON, DevicePreviewRunDtoToJSON, DevicePreviewRunResultsDto, DevicePreviewRunResultsDtoFromJSON, DevicePreviewRunResultsDtoToJSON, PageDevicePreviewRunProjection, PageDevicePreviewRunProjectionFromJSON, PageDevicePreviewRunProjectionToJSON, UpdateDevicePreviewFeedbackOptions, UpdateDevicePreviewFeedbackOptionsFromJSON, UpdateDevicePreviewFeedbackOptionsToJSON, } from '../models'; export interface CancelDevicePreviewRunRequest { runId: string; cancelDevicePreviewRunOptions?: CancelDevicePreviewRunOptions; } export interface CreateDevicePreviewFeedbackRequest { createDevicePreviewFeedbackOptions: CreateDevicePreviewFeedbackOptions; } export interface CreateDevicePreviewRunRequest { emailId: string; createDevicePreviewOptions?: CreateDevicePreviewOptions; } export interface DeleteDevicePreviewRunRequest { runId: string; } export interface EnsureDevicePreviewRunRequest { emailId: string; createDevicePreviewOptions?: CreateDevicePreviewOptions; } export interface GetDevicePreviewFeedbackRequest { feedbackId: string; } export interface GetDevicePreviewFeedbackItemsRequest { page?: number; size?: number; source?: GetDevicePreviewFeedbackItemsSourceEnum; runId?: string; status?: GetDevicePreviewFeedbackItemsStatusEnum; provider?: GetDevicePreviewFeedbackItemsProviderEnum; category?: GetDevicePreviewFeedbackItemsCategoryEnum; search?: string; } export interface GetDevicePreviewRunRequest { runId: string; } export interface GetDevicePreviewRunProviderProgressRequest { runId: string; provider: GetDevicePreviewRunProviderProgressProviderEnum; } export interface GetDevicePreviewRunResultsRequest { runId: string; } export interface GetDevicePreviewRunScreenshotRequest { runId: string; screenshotId: string; } export interface GetDevicePreviewRunsRequest { emailId: string; limit?: number; } export interface GetDevicePreviewRunsForAccountRequest { limit?: number; } export interface GetDevicePreviewRunsOffsetPaginatedRequest { emailId: string; page?: number; size?: number; sort?: GetDevicePreviewRunsOffsetPaginatedSortEnum; } export interface UpdateDevicePreviewFeedbackRequest { feedbackId: string; updateDevicePreviewFeedbackOptions: UpdateDevicePreviewFeedbackOptions; } /** * */ export class DevicePreviewsControllerApi extends runtime.BaseAPI { /** * Cancel a running device preview run */ async cancelDevicePreviewRunRaw( requestParameters: CancelDevicePreviewRunRequest, initOverrides?: RequestInit ): Promise> { if ( requestParameters.runId === null || requestParameters.runId === undefined ) { throw new runtime.RequiredError( 'runId', 'Required parameter requestParameters.runId was null or undefined when calling cancelDevicePreviewRun.' ); } 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: `/emails/device-previews/{runId}/cancel`.replace( `{${'runId'}}`, encodeURIComponent(String(requestParameters.runId)) ), method: 'POST', headers: headerParameters, query: queryParameters, body: CancelDevicePreviewRunOptionsToJSON( requestParameters.cancelDevicePreviewRunOptions ), }, initOverrides ); return new runtime.JSONApiResponse(response, (jsonValue) => CancelDevicePreviewRunResultFromJSON(jsonValue) ); } /** * Cancel a running device preview run */ async cancelDevicePreviewRun( requestParameters: CancelDevicePreviewRunRequest, initOverrides?: RequestInit ): Promise { const response = await this.cancelDevicePreviewRunRaw( requestParameters, initOverrides ); return await response.value(); } /** * Create device preview feedback */ async createDevicePreviewFeedbackRaw( requestParameters: CreateDevicePreviewFeedbackRequest, initOverrides?: RequestInit ): Promise> { if ( requestParameters.createDevicePreviewFeedbackOptions === null || requestParameters.createDevicePreviewFeedbackOptions === undefined ) { throw new runtime.RequiredError( 'createDevicePreviewFeedbackOptions', 'Required parameter requestParameters.createDevicePreviewFeedbackOptions was null or undefined when calling createDevicePreviewFeedback.' ); } 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: `/emails/device-previews/feedback`, method: 'POST', headers: headerParameters, query: queryParameters, body: CreateDevicePreviewFeedbackOptionsToJSON( requestParameters.createDevicePreviewFeedbackOptions ), }, initOverrides ); return new runtime.JSONApiResponse(response, (jsonValue) => DevicePreviewFeedbackDtoFromJSON(jsonValue) ); } /** * Create device preview feedback */ async createDevicePreviewFeedback( requestParameters: CreateDevicePreviewFeedbackRequest, initOverrides?: RequestInit ): Promise { const response = await this.createDevicePreviewFeedbackRaw( requestParameters, initOverrides ); return await response.value(); } /** * Create a new device preview run for an email */ async createDevicePreviewRunRaw( requestParameters: CreateDevicePreviewRunRequest, initOverrides?: RequestInit ): Promise> { if ( requestParameters.emailId === null || requestParameters.emailId === undefined ) { throw new runtime.RequiredError( 'emailId', 'Required parameter requestParameters.emailId was null or undefined when calling createDevicePreviewRun.' ); } 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: `/emails/{emailId}/device-previews`.replace( `{${'emailId'}}`, encodeURIComponent(String(requestParameters.emailId)) ), method: 'POST', headers: headerParameters, query: queryParameters, body: CreateDevicePreviewOptionsToJSON( requestParameters.createDevicePreviewOptions ), }, initOverrides ); return new runtime.JSONApiResponse(response, (jsonValue) => CreateDevicePreviewRunResultFromJSON(jsonValue) ); } /** * Create a new device preview run for an email */ async createDevicePreviewRun( requestParameters: CreateDevicePreviewRunRequest, initOverrides?: RequestInit ): Promise { const response = await this.createDevicePreviewRunRaw( requestParameters, initOverrides ); return await response.value(); } /** * Delete local device preview run data */ async deleteDevicePreviewRunRaw( requestParameters: DeleteDevicePreviewRunRequest, initOverrides?: RequestInit ): Promise> { if ( requestParameters.runId === null || requestParameters.runId === undefined ) { throw new runtime.RequiredError( 'runId', 'Required parameter requestParameters.runId was null or undefined when calling deleteDevicePreviewRun.' ); } 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: `/emails/device-previews/{runId}`.replace( `{${'runId'}}`, encodeURIComponent(String(requestParameters.runId)) ), method: 'DELETE', headers: headerParameters, query: queryParameters, }, initOverrides ); return new runtime.JSONApiResponse(response, (jsonValue) => DeleteDevicePreviewRunResultFromJSON(jsonValue) ); } /** * Delete local device preview run data */ async deleteDevicePreviewRun( requestParameters: DeleteDevicePreviewRunRequest, initOverrides?: RequestInit ): Promise { const response = await this.deleteDevicePreviewRunRaw( requestParameters, initOverrides ); return await response.value(); } /** * Return active run for email or create one when none exists */ async ensureDevicePreviewRunRaw( requestParameters: EnsureDevicePreviewRunRequest, initOverrides?: RequestInit ): Promise> { if ( requestParameters.emailId === null || requestParameters.emailId === undefined ) { throw new runtime.RequiredError( 'emailId', 'Required parameter requestParameters.emailId was null or undefined when calling ensureDevicePreviewRun.' ); } 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: `/emails/{emailId}/device-previews/latest`.replace( `{${'emailId'}}`, encodeURIComponent(String(requestParameters.emailId)) ), method: 'PUT', headers: headerParameters, query: queryParameters, body: CreateDevicePreviewOptionsToJSON( requestParameters.createDevicePreviewOptions ), }, initOverrides ); return new runtime.JSONApiResponse(response, (jsonValue) => CreateDevicePreviewRunResultFromJSON(jsonValue) ); } /** * Return active run for email or create one when none exists */ async ensureDevicePreviewRun( requestParameters: EnsureDevicePreviewRunRequest, initOverrides?: RequestInit ): Promise { const response = await this.ensureDevicePreviewRunRaw( requestParameters, initOverrides ); return await response.value(); } /** * Get a single device preview feedback item */ async getDevicePreviewFeedbackRaw( requestParameters: GetDevicePreviewFeedbackRequest, initOverrides?: RequestInit ): Promise> { if ( requestParameters.feedbackId === null || requestParameters.feedbackId === undefined ) { throw new runtime.RequiredError( 'feedbackId', 'Required parameter requestParameters.feedbackId was null or undefined when calling getDevicePreviewFeedback.' ); } 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: `/emails/device-previews/feedback/{feedbackId}`.replace( `{${'feedbackId'}}`, encodeURIComponent(String(requestParameters.feedbackId)) ), method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides ); return new runtime.JSONApiResponse(response, (jsonValue) => DevicePreviewFeedbackDtoFromJSON(jsonValue) ); } /** * Get a single device preview feedback item */ async getDevicePreviewFeedback( requestParameters: GetDevicePreviewFeedbackRequest, initOverrides?: RequestInit ): Promise { const response = await this.getDevicePreviewFeedbackRaw( requestParameters, initOverrides ); return await response.value(); } /** * List device preview feedback */ async getDevicePreviewFeedbackItemsRaw( requestParameters: GetDevicePreviewFeedbackItemsRequest, initOverrides?: RequestInit ): Promise> { const queryParameters: any = {}; if (requestParameters.page !== undefined) { queryParameters['page'] = requestParameters.page; } if (requestParameters.size !== undefined) { queryParameters['size'] = requestParameters.size; } if (requestParameters.source !== undefined) { queryParameters['source'] = requestParameters.source; } if (requestParameters.runId !== undefined) { queryParameters['runId'] = requestParameters.runId; } if (requestParameters.status !== undefined) { queryParameters['status'] = requestParameters.status; } if (requestParameters.provider !== undefined) { queryParameters['provider'] = requestParameters.provider; } if (requestParameters.category !== undefined) { queryParameters['category'] = requestParameters.category; } if (requestParameters.search !== undefined) { queryParameters['search'] = requestParameters.search; } 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: `/emails/device-previews/feedback`, method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides ); return new runtime.JSONApiResponse(response, (jsonValue) => DevicePreviewFeedbackListDtoFromJSON(jsonValue) ); } /** * List device preview feedback */ async getDevicePreviewFeedbackItems( requestParameters: GetDevicePreviewFeedbackItemsRequest, initOverrides?: RequestInit ): Promise { const response = await this.getDevicePreviewFeedbackItemsRaw( requestParameters, initOverrides ); return await response.value(); } /** * Get device preview run status */ async getDevicePreviewRunRaw( requestParameters: GetDevicePreviewRunRequest, initOverrides?: RequestInit ): Promise> { if ( requestParameters.runId === null || requestParameters.runId === undefined ) { throw new runtime.RequiredError( 'runId', 'Required parameter requestParameters.runId was null or undefined when calling getDevicePreviewRun.' ); } 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: `/emails/device-previews/{runId}`.replace( `{${'runId'}}`, encodeURIComponent(String(requestParameters.runId)) ), method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides ); return new runtime.JSONApiResponse(response, (jsonValue) => DevicePreviewRunDtoFromJSON(jsonValue) ); } /** * Get device preview run status */ async getDevicePreviewRun( requestParameters: GetDevicePreviewRunRequest, initOverrides?: RequestInit ): Promise { const response = await this.getDevicePreviewRunRaw( requestParameters, initOverrides ); return await response.value(); } /** * Get provider-level progress for a device preview run */ async getDevicePreviewRunProviderProgressRaw( requestParameters: GetDevicePreviewRunProviderProgressRequest, initOverrides?: RequestInit ): Promise> { if ( requestParameters.runId === null || requestParameters.runId === undefined ) { throw new runtime.RequiredError( 'runId', 'Required parameter requestParameters.runId was null or undefined when calling getDevicePreviewRunProviderProgress.' ); } if ( requestParameters.provider === null || requestParameters.provider === undefined ) { throw new runtime.RequiredError( 'provider', 'Required parameter requestParameters.provider was null or undefined when calling getDevicePreviewRunProviderProgress.' ); } 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: `/emails/device-previews/{runId}/providers/{provider}` .replace( `{${'runId'}}`, encodeURIComponent(String(requestParameters.runId)) ) .replace( `{${'provider'}}`, encodeURIComponent(String(requestParameters.provider)) ), method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides ); return new runtime.JSONApiResponse(response, (jsonValue) => DevicePreviewProviderProgressDtoFromJSON(jsonValue) ); } /** * Get provider-level progress for a device preview run */ async getDevicePreviewRunProviderProgress( requestParameters: GetDevicePreviewRunProviderProgressRequest, initOverrides?: RequestInit ): Promise { const response = await this.getDevicePreviewRunProviderProgressRaw( requestParameters, initOverrides ); return await response.value(); } /** * Get device preview run results */ async getDevicePreviewRunResultsRaw( requestParameters: GetDevicePreviewRunResultsRequest, initOverrides?: RequestInit ): Promise> { if ( requestParameters.runId === null || requestParameters.runId === undefined ) { throw new runtime.RequiredError( 'runId', 'Required parameter requestParameters.runId was null or undefined when calling getDevicePreviewRunResults.' ); } 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: `/emails/device-previews/{runId}/results`.replace( `{${'runId'}}`, encodeURIComponent(String(requestParameters.runId)) ), method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides ); return new runtime.JSONApiResponse(response, (jsonValue) => DevicePreviewRunResultsDtoFromJSON(jsonValue) ); } /** * Get device preview run results */ async getDevicePreviewRunResults( requestParameters: GetDevicePreviewRunResultsRequest, initOverrides?: RequestInit ): Promise { const response = await this.getDevicePreviewRunResultsRaw( requestParameters, initOverrides ); return await response.value(); } /** * Get a seeded device preview screenshot image */ async getDevicePreviewRunScreenshotRaw( requestParameters: GetDevicePreviewRunScreenshotRequest, initOverrides?: RequestInit ): Promise> { if ( requestParameters.runId === null || requestParameters.runId === undefined ) { throw new runtime.RequiredError( 'runId', 'Required parameter requestParameters.runId was null or undefined when calling getDevicePreviewRunScreenshot.' ); } if ( requestParameters.screenshotId === null || requestParameters.screenshotId === undefined ) { throw new runtime.RequiredError( 'screenshotId', 'Required parameter requestParameters.screenshotId was null or undefined when calling getDevicePreviewRunScreenshot.' ); } 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: `/emails/device-previews/{runId}/screenshots/{screenshotId}/image` .replace( `{${'runId'}}`, encodeURIComponent(String(requestParameters.runId)) ) .replace( `{${'screenshotId'}}`, encodeURIComponent(String(requestParameters.screenshotId)) ), method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides ); return new runtime.TextApiResponse(response) as any; } /** * Get a seeded device preview screenshot image */ async getDevicePreviewRunScreenshot( requestParameters: GetDevicePreviewRunScreenshotRequest, initOverrides?: RequestInit ): Promise { const response = await this.getDevicePreviewRunScreenshotRaw( requestParameters, initOverrides ); return await response.value(); } /** * List previous device preview runs for an email */ async getDevicePreviewRunsRaw( requestParameters: GetDevicePreviewRunsRequest, initOverrides?: RequestInit ): Promise>> { if ( requestParameters.emailId === null || requestParameters.emailId === undefined ) { throw new runtime.RequiredError( 'emailId', 'Required parameter requestParameters.emailId was null or undefined when calling getDevicePreviewRuns.' ); } const queryParameters: any = {}; 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: `/emails/{emailId}/device-previews`.replace( `{${'emailId'}}`, encodeURIComponent(String(requestParameters.emailId)) ), method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides ); return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(DevicePreviewRunDtoFromJSON) ); } /** * List previous device preview runs for an email */ async getDevicePreviewRuns( requestParameters: GetDevicePreviewRunsRequest, initOverrides?: RequestInit ): Promise> { const response = await this.getDevicePreviewRunsRaw( requestParameters, initOverrides ); return await response.value(); } /** * List previous device preview runs for account */ async getDevicePreviewRunsForAccountRaw( requestParameters: GetDevicePreviewRunsForAccountRequest, initOverrides?: RequestInit ): Promise>> { const queryParameters: any = {}; 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: `/emails/device-previews`, method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides ); return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(DevicePreviewRunDtoFromJSON) ); } /** * List previous device preview runs for account */ async getDevicePreviewRunsForAccount( requestParameters: GetDevicePreviewRunsForAccountRequest, initOverrides?: RequestInit ): Promise> { const response = await this.getDevicePreviewRunsForAccountRaw( requestParameters, initOverrides ); return await response.value(); } /** * List previous device preview runs for an email in paginated form */ async getDevicePreviewRunsOffsetPaginatedRaw( requestParameters: GetDevicePreviewRunsOffsetPaginatedRequest, initOverrides?: RequestInit ): Promise> { if ( requestParameters.emailId === null || requestParameters.emailId === undefined ) { throw new runtime.RequiredError( 'emailId', 'Required parameter requestParameters.emailId was null or undefined when calling getDevicePreviewRunsOffsetPaginated.' ); } 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; } 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: `/emails/{emailId}/device-previews/offset-paginated`.replace( `{${'emailId'}}`, encodeURIComponent(String(requestParameters.emailId)) ), method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides ); return new runtime.JSONApiResponse(response, (jsonValue) => PageDevicePreviewRunProjectionFromJSON(jsonValue) ); } /** * List previous device preview runs for an email in paginated form */ async getDevicePreviewRunsOffsetPaginated( requestParameters: GetDevicePreviewRunsOffsetPaginatedRequest, initOverrides?: RequestInit ): Promise { const response = await this.getDevicePreviewRunsOffsetPaginatedRaw( requestParameters, initOverrides ); return await response.value(); } /** * Update device preview feedback */ async updateDevicePreviewFeedbackRaw( requestParameters: UpdateDevicePreviewFeedbackRequest, initOverrides?: RequestInit ): Promise> { if ( requestParameters.feedbackId === null || requestParameters.feedbackId === undefined ) { throw new runtime.RequiredError( 'feedbackId', 'Required parameter requestParameters.feedbackId was null or undefined when calling updateDevicePreviewFeedback.' ); } if ( requestParameters.updateDevicePreviewFeedbackOptions === null || requestParameters.updateDevicePreviewFeedbackOptions === undefined ) { throw new runtime.RequiredError( 'updateDevicePreviewFeedbackOptions', 'Required parameter requestParameters.updateDevicePreviewFeedbackOptions was null or undefined when calling updateDevicePreviewFeedback.' ); } 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: `/emails/device-previews/feedback/{feedbackId}`.replace( `{${'feedbackId'}}`, encodeURIComponent(String(requestParameters.feedbackId)) ), method: 'PUT', headers: headerParameters, query: queryParameters, body: UpdateDevicePreviewFeedbackOptionsToJSON( requestParameters.updateDevicePreviewFeedbackOptions ), }, initOverrides ); return new runtime.JSONApiResponse(response, (jsonValue) => DevicePreviewFeedbackDtoFromJSON(jsonValue) ); } /** * Update device preview feedback */ async updateDevicePreviewFeedback( requestParameters: UpdateDevicePreviewFeedbackRequest, initOverrides?: RequestInit ): Promise { const response = await this.updateDevicePreviewFeedbackRaw( requestParameters, initOverrides ); return await response.value(); } } /** * @export * @enum {string} */ export enum GetDevicePreviewFeedbackItemsSourceEnum { API_SERVICE = 'API_SERVICE', LAB_USER = 'LAB_USER', END_USER = 'END_USER', SYSTEM = 'SYSTEM', } /** * @export * @enum {string} */ export enum GetDevicePreviewFeedbackItemsStatusEnum { OPEN = 'OPEN', ACKNOWLEDGED = 'ACKNOWLEDGED', RESOLVED = 'RESOLVED', DISMISSED = 'DISMISSED', } /** * @export * @enum {string} */ export enum GetDevicePreviewFeedbackItemsProviderEnum { GMAIL = 'GMAIL', OUTLOOK = 'OUTLOOK', YAHOO = 'YAHOO', } /** * @export * @enum {string} */ export enum GetDevicePreviewFeedbackItemsCategoryEnum { GENERAL = 'GENERAL', RUN_QUALITY = 'RUN_QUALITY', SCREENSHOT_QUALITY = 'SCREENSHOT_QUALITY', PROVIDER_ISSUE = 'PROVIDER_ISSUE', BUG_REPORT = 'BUG_REPORT', FEATURE_REQUEST = 'FEATURE_REQUEST', NOTE = 'NOTE', } /** * @export * @enum {string} */ export enum GetDevicePreviewRunProviderProgressProviderEnum { GMAIL = 'GMAIL', OUTLOOK = 'OUTLOOK', YAHOO = 'YAHOO', } /** * @export * @enum {string} */ export enum GetDevicePreviewRunsOffsetPaginatedSortEnum { ASC = 'ASC', DESC = 'DESC', }