/* 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 { InboxPlacementAnalyticsSummaryDto, InboxPlacementAnalyticsSummaryDtoFromJSON, InboxPlacementAnalyticsSummaryDtoFromJSONTyped, InboxPlacementAnalyticsSummaryDtoToJSON, InboxPlacementFolderBreakdownDto, InboxPlacementFolderBreakdownDtoFromJSON, InboxPlacementFolderBreakdownDtoFromJSONTyped, InboxPlacementFolderBreakdownDtoToJSON, InboxPlacementProviderBreakdownDto, InboxPlacementProviderBreakdownDtoFromJSON, InboxPlacementProviderBreakdownDtoFromJSONTyped, InboxPlacementProviderBreakdownDtoToJSON, InboxPlacementSenderBreakdownDto, InboxPlacementSenderBreakdownDtoFromJSON, InboxPlacementSenderBreakdownDtoFromJSONTyped, InboxPlacementSenderBreakdownDtoToJSON, } from './'; /** * Breakdown response for folders, providers, and sender groupings * @export * @interface InboxPlacementAnalyticsBreakdownDto */ export interface InboxPlacementAnalyticsBreakdownDto { /** * * @type {Date} * @memberof InboxPlacementAnalyticsBreakdownDto */ since: Date; /** * * @type {Date} * @memberof InboxPlacementAnalyticsBreakdownDto */ before: Date; /** * * @type {string} * @memberof InboxPlacementAnalyticsBreakdownDto */ senderDomain?: string | null; /** * * @type {string} * @memberof InboxPlacementAnalyticsBreakdownDto */ fromEmail?: string | null; /** * * @type {InboxPlacementAnalyticsSummaryDto} * @memberof InboxPlacementAnalyticsBreakdownDto */ summary: InboxPlacementAnalyticsSummaryDto; /** * * @type {Array} * @memberof InboxPlacementAnalyticsBreakdownDto */ folders: Array; /** * * @type {Array} * @memberof InboxPlacementAnalyticsBreakdownDto */ providers: Array; /** * * @type {Array} * @memberof InboxPlacementAnalyticsBreakdownDto */ senderDomains: Array; /** * * @type {Array} * @memberof InboxPlacementAnalyticsBreakdownDto */ fromEmails: Array; } export function InboxPlacementAnalyticsBreakdownDtoFromJSON( json: any ): InboxPlacementAnalyticsBreakdownDto { return InboxPlacementAnalyticsBreakdownDtoFromJSONTyped(json, false); } export function InboxPlacementAnalyticsBreakdownDtoFromJSONTyped( json: any, ignoreDiscriminator: boolean ): InboxPlacementAnalyticsBreakdownDto { if (json === undefined || json === null) { return json; } return { since: new Date(json['since']), before: new Date(json['before']), senderDomain: !exists(json, 'senderDomain') ? undefined : json['senderDomain'], fromEmail: !exists(json, 'fromEmail') ? undefined : json['fromEmail'], summary: InboxPlacementAnalyticsSummaryDtoFromJSON(json['summary']), folders: (json['folders'] as Array).map( InboxPlacementFolderBreakdownDtoFromJSON ), providers: (json['providers'] as Array).map( InboxPlacementProviderBreakdownDtoFromJSON ), senderDomains: (json['senderDomains'] as Array).map( InboxPlacementSenderBreakdownDtoFromJSON ), fromEmails: (json['fromEmails'] as Array).map( InboxPlacementSenderBreakdownDtoFromJSON ), }; } export function InboxPlacementAnalyticsBreakdownDtoToJSON( value?: InboxPlacementAnalyticsBreakdownDto | null ): any { if (value === undefined) { return undefined; } if (value === null) { return null; } return { since: value.since.toISOString(), before: value.before.toISOString(), senderDomain: value.senderDomain, fromEmail: value.fromEmail, summary: InboxPlacementAnalyticsSummaryDtoToJSON(value.summary), folders: (value.folders as Array).map( InboxPlacementFolderBreakdownDtoToJSON ), providers: (value.providers as Array).map( InboxPlacementProviderBreakdownDtoToJSON ), senderDomains: (value.senderDomains as Array).map( InboxPlacementSenderBreakdownDtoToJSON ), fromEmails: (value.fromEmails as Array).map( InboxPlacementSenderBreakdownDtoToJSON ), }; }