/* 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 { exists, mapValues } from '../runtime'; import { EmailAuditSpellingIssue, EmailAuditSpellingIssueFromJSON, EmailAuditSpellingIssueFromJSONTyped, EmailAuditSpellingIssueToJSON, EmailAuditUrlIssue, EmailAuditUrlIssueFromJSON, EmailAuditUrlIssueFromJSONTyped, EmailAuditUrlIssueToJSON, EmailFeatureSupportResult, EmailFeatureSupportResultFromJSON, EmailFeatureSupportResultFromJSONTyped, EmailFeatureSupportResultToJSON, HTMLValidationResult, HTMLValidationResultFromJSON, HTMLValidationResultFromJSONTyped, HTMLValidationResultToJSON, } from './'; /** * Combined email audit analysis across validation, client support, links, and images * @export * @interface EmailAuditAnalysisResult */ export interface EmailAuditAnalysisResult { /** * Health status for a one-shot email audit * @type {string} * @memberof EmailAuditAnalysisResult */ status: EmailAuditAnalysisResultStatusEnum; /** * * @type {number} * @memberof EmailAuditAnalysisResult */ healthScore: number; /** * * @type {number} * @memberof EmailAuditAnalysisResult */ totalChecks: number; /** * * @type {number} * @memberof EmailAuditAnalysisResult */ passingChecks: number; /** * * @type {number} * @memberof EmailAuditAnalysisResult */ failingChecks: number; /** * * @type {number} * @memberof EmailAuditAnalysisResult */ detectedLinks: number; /** * * @type {number} * @memberof EmailAuditAnalysisResult */ checkedLinks: number; /** * * @type {number} * @memberof EmailAuditAnalysisResult */ detectedImages: number; /** * * @type {number} * @memberof EmailAuditAnalysisResult */ checkedImages: number; /** * * @type {number} * @memberof EmailAuditAnalysisResult */ linkIssueCount: number; /** * * @type {number} * @memberof EmailAuditAnalysisResult */ imageIssueCount: number; /** * * @type {number} * @memberof EmailAuditAnalysisResult */ spellingIssueCount: number; /** * * @type {Array} * @memberof EmailAuditAnalysisResult */ brokenLinks: Array; /** * * @type {Array} * @memberof EmailAuditAnalysisResult */ brokenImages: Array; /** * * @type {Array} * @memberof EmailAuditAnalysisResult */ spellingIssues: Array; /** * * @type {number} * @memberof EmailAuditAnalysisResult */ compatibilityWarningCount: number; /** * * @type {number} * @memberof EmailAuditAnalysisResult */ compatibilityNotSupportedCount: number; /** * * @type {number} * @memberof EmailAuditAnalysisResult */ compatibilityUnknownCount: number; /** * * @type {EmailFeatureSupportResult} * @memberof EmailAuditAnalysisResult */ featureSupport?: EmailFeatureSupportResult; /** * * @type {number} * @memberof EmailAuditAnalysisResult */ htmlErrorCount: number; /** * * @type {number} * @memberof EmailAuditAnalysisResult */ htmlWarningCount: number; /** * * @type {number} * @memberof EmailAuditAnalysisResult */ htmlInfoCount: number; /** * * @type {HTMLValidationResult} * @memberof EmailAuditAnalysisResult */ htmlValidation?: HTMLValidationResult | null; /** * * @type {number} * @memberof EmailAuditAnalysisResult */ reputationFailureCount: number; /** * * @type {number} * @memberof EmailAuditAnalysisResult */ attachmentMentionIssueCount: number; /** * * @type {number} * @memberof EmailAuditAnalysisResult */ externalCheckSkippedCount: number; /** * * @type {Array} * @memberof EmailAuditAnalysisResult */ insights: Array; /** * * @type {string} * @memberof EmailAuditAnalysisResult */ errorMessage?: string | null; } /** * @export * @enum {string} */ export enum EmailAuditAnalysisResultStatusEnum { HEALTHY = 'HEALTHY', WARNING = 'WARNING', FAILED = 'FAILED', } export function EmailAuditAnalysisResultFromJSON( json: any ): EmailAuditAnalysisResult { return EmailAuditAnalysisResultFromJSONTyped(json, false); } export function EmailAuditAnalysisResultFromJSONTyped( json: any, ignoreDiscriminator: boolean ): EmailAuditAnalysisResult { if (json === undefined || json === null) { return json; } return { status: json['status'], healthScore: json['healthScore'], totalChecks: json['totalChecks'], passingChecks: json['passingChecks'], failingChecks: json['failingChecks'], detectedLinks: json['detectedLinks'], checkedLinks: json['checkedLinks'], detectedImages: json['detectedImages'], checkedImages: json['checkedImages'], linkIssueCount: json['linkIssueCount'], imageIssueCount: json['imageIssueCount'], spellingIssueCount: json['spellingIssueCount'], brokenLinks: (json['brokenLinks'] as Array).map( EmailAuditUrlIssueFromJSON ), brokenImages: (json['brokenImages'] as Array).map( EmailAuditUrlIssueFromJSON ), spellingIssues: (json['spellingIssues'] as Array).map( EmailAuditSpellingIssueFromJSON ), compatibilityWarningCount: json['compatibilityWarningCount'], compatibilityNotSupportedCount: json['compatibilityNotSupportedCount'], compatibilityUnknownCount: json['compatibilityUnknownCount'], featureSupport: !exists(json, 'featureSupport') ? undefined : EmailFeatureSupportResultFromJSON(json['featureSupport']), htmlErrorCount: json['htmlErrorCount'], htmlWarningCount: json['htmlWarningCount'], htmlInfoCount: json['htmlInfoCount'], htmlValidation: !exists(json, 'htmlValidation') ? undefined : HTMLValidationResultFromJSON(json['htmlValidation']), reputationFailureCount: json['reputationFailureCount'], attachmentMentionIssueCount: json['attachmentMentionIssueCount'], externalCheckSkippedCount: json['externalCheckSkippedCount'], insights: json['insights'], errorMessage: !exists(json, 'errorMessage') ? undefined : json['errorMessage'], }; } export function EmailAuditAnalysisResultToJSON( value?: EmailAuditAnalysisResult | null ): any { if (value === undefined) { return undefined; } if (value === null) { return null; } return { status: value.status, healthScore: value.healthScore, totalChecks: value.totalChecks, passingChecks: value.passingChecks, failingChecks: value.failingChecks, detectedLinks: value.detectedLinks, checkedLinks: value.checkedLinks, detectedImages: value.detectedImages, checkedImages: value.checkedImages, linkIssueCount: value.linkIssueCount, imageIssueCount: value.imageIssueCount, spellingIssueCount: value.spellingIssueCount, brokenLinks: (value.brokenLinks as Array).map( EmailAuditUrlIssueToJSON ), brokenImages: (value.brokenImages as Array).map( EmailAuditUrlIssueToJSON ), spellingIssues: (value.spellingIssues as Array).map( EmailAuditSpellingIssueToJSON ), compatibilityWarningCount: value.compatibilityWarningCount, compatibilityNotSupportedCount: value.compatibilityNotSupportedCount, compatibilityUnknownCount: value.compatibilityUnknownCount, featureSupport: EmailFeatureSupportResultToJSON(value.featureSupport), htmlErrorCount: value.htmlErrorCount, htmlWarningCount: value.htmlWarningCount, htmlInfoCount: value.htmlInfoCount, htmlValidation: HTMLValidationResultToJSON(value.htmlValidation), reputationFailureCount: value.reputationFailureCount, attachmentMentionIssueCount: value.attachmentMentionIssueCount, externalCheckSkippedCount: value.externalCheckSkippedCount, insights: value.insights, errorMessage: value.errorMessage, }; }