diff --git a/src/DigitalData.EmailProfiler.Application/Common/Dtos/CommonDtos.cs b/src/DigitalData.EmailProfiler.Application/Common/Dtos/CommonDtos.cs deleted file mode 100644 index e0647bd..0000000 --- a/src/DigitalData.EmailProfiler.Application/Common/Dtos/CommonDtos.cs +++ /dev/null @@ -1,54 +0,0 @@ -namespace DigitalData.EmailProfiler.Application.Common.Dtos; - -public class EmailProfileDto -{ - public int Id { get; set; } - public string ProfileName { get; set; } = string.Empty; - public int EmailAccountId { get; set; } - public string? EmailAccountName { get; set; } - public int? ProcessId { get; set; } - public string? ProcessName { get; set; } - public int PollIntervalMinutes { get; set; } - public DateTime? LastPollTime { get; set; } - public bool IsActive { get; set; } - public string? Comment { get; set; } -} - -public class EmailAccountDto -{ - public int Id { get; set; } - public string AccountName { get; set; } = string.Empty; - public string ImapServer { get; set; } = string.Empty; - public int ImapPort { get; set; } - public string SmtpServer { get; set; } = string.Empty; - public int SmtpPort { get; set; } - public string Username { get; set; } = string.Empty; - public bool UseOAuth2 { get; set; } - public bool IsActive { get; set; } -} - -public class EmailHistoryDto -{ - public int Id { get; set; } - public int? ProfileId { get; set; } - public string? ProfileName { get; set; } - public string? SenderAddress { get; set; } - public string? Subject { get; set; } - public DateTime? EmailDate { get; set; } - public DateTime? ProcessedDate { get; set; } - public string? Status { get; set; } - public int? ErrorCodeValue { get; set; } - public string? ErrorMessage { get; set; } - public List Attachments { get; set; } = new(); -} - -public class EmailAttachmentDto -{ - public int Id { get; set; } - public string OriginalFileName { get; set; } = string.Empty; - public string FilePath { get; set; } = string.Empty; - public long FileSize { get; set; } - public bool IsEmbeddedFile { get; set; } - public string? Status { get; set; } - public string? ValidationErrorMessage { get; set; } -} diff --git a/src/DigitalData.EmailProfiler.Application/Common/Dtos/EmailAccountDto.cs b/src/DigitalData.EmailProfiler.Application/Common/Dtos/EmailAccountDto.cs new file mode 100644 index 0000000..7b31fd3 --- /dev/null +++ b/src/DigitalData.EmailProfiler.Application/Common/Dtos/EmailAccountDto.cs @@ -0,0 +1,17 @@ +namespace DigitalData.EmailProfiler.Application.Common.Dtos; + +/// +/// DTO for EmailAccount query results. +/// +public class EmailAccountDto +{ + public int Id { get; set; } + public string AccountName { get; set; } = string.Empty; + public string ImapServer { get; set; } = string.Empty; + public int ImapPort { get; set; } + public string SmtpServer { get; set; } = string.Empty; + public int SmtpPort { get; set; } + public string Username { get; set; } = string.Empty; + public bool UseOAuth2 { get; set; } + public bool IsActive { get; set; } +} diff --git a/src/DigitalData.EmailProfiler.Application/Common/Dtos/EmailAttachments/CreateEmailAttachmentDto.cs b/src/DigitalData.EmailProfiler.Application/Common/Dtos/EmailAttachments/CreateEmailAttachmentDto.cs new file mode 100644 index 0000000..e9dd250 --- /dev/null +++ b/src/DigitalData.EmailProfiler.Application/Common/Dtos/EmailAttachments/CreateEmailAttachmentDto.cs @@ -0,0 +1,15 @@ +namespace DigitalData.EmailProfiler.Application.Common.Dtos.EmailAttachments; + +/// +/// DTO for creating EmailAttachment record. +/// AutoMapper profile required: CreateEmailAttachmentDto -> EmailAttachment +/// +public record CreateEmailAttachmentDto( + int EmailHistoryId, + string OriginalFileName, + string SavedFileName, + string FilePath, + long FileSize, + string Extension, + string ContentType, + byte[] Content); diff --git a/src/DigitalData.EmailProfiler.Application/Common/Dtos/EmailAttachments/EmailAttachmentDto.cs b/src/DigitalData.EmailProfiler.Application/Common/Dtos/EmailAttachments/EmailAttachmentDto.cs new file mode 100644 index 0000000..5b37008 --- /dev/null +++ b/src/DigitalData.EmailProfiler.Application/Common/Dtos/EmailAttachments/EmailAttachmentDto.cs @@ -0,0 +1,15 @@ +namespace DigitalData.EmailProfiler.Application.Common.Dtos.EmailAttachments; + +/// +/// DTO for EmailAttachment query results. +/// +public class EmailAttachmentDto +{ + public int Id { get; set; } + public string OriginalFileName { get; set; } = string.Empty; + public string FilePath { get; set; } = string.Empty; + public long FileSize { get; set; } + public bool IsEmbeddedFile { get; set; } + public string? Status { get; set; } + public string? ValidationErrorMessage { get; set; } +} diff --git a/src/DigitalData.EmailProfiler.Application/Common/Dtos/EmailAttachments/UpdateEmailAttachmentStatusDto.cs b/src/DigitalData.EmailProfiler.Application/Common/Dtos/EmailAttachments/UpdateEmailAttachmentStatusDto.cs new file mode 100644 index 0000000..b5302a0 --- /dev/null +++ b/src/DigitalData.EmailProfiler.Application/Common/Dtos/EmailAttachments/UpdateEmailAttachmentStatusDto.cs @@ -0,0 +1,10 @@ +namespace DigitalData.EmailProfiler.Application.Common.Dtos.EmailAttachments; + +/// +/// DTO for updating EmailAttachment status. +/// AutoMapper profile required: UpdateEmailAttachmentStatusDto -> EmailAttachment +/// +public record UpdateEmailAttachmentStatusDto( + string Status, + int? ValidationErrorCode = null, + string? ValidationErrorMessage = null); diff --git a/src/DigitalData.EmailProfiler.Application/Common/Dtos/EmailHistories/CreateEmailHistoryDto.cs b/src/DigitalData.EmailProfiler.Application/Common/Dtos/EmailHistories/CreateEmailHistoryDto.cs new file mode 100644 index 0000000..b28beed --- /dev/null +++ b/src/DigitalData.EmailProfiler.Application/Common/Dtos/EmailHistories/CreateEmailHistoryDto.cs @@ -0,0 +1,15 @@ +namespace DigitalData.EmailProfiler.Application.Common.Dtos.EmailHistories; + +/// +/// DTO for creating EmailHistory record. +/// AutoMapper profile required: CreateEmailHistoryDto -> EmailHistory +/// +public record CreateEmailHistoryDto( + int ProfileId, + string MessageIdHash, + string OriginalMessageId, + string SenderAddress, + DateTime EmailDate, + string Subject, + string? EmailBodyText, + string? EmailBodyHtml); diff --git a/src/DigitalData.EmailProfiler.Application/Common/Dtos/EmailHistories/EmailHistoryDto.cs b/src/DigitalData.EmailProfiler.Application/Common/Dtos/EmailHistories/EmailHistoryDto.cs new file mode 100644 index 0000000..838d410 --- /dev/null +++ b/src/DigitalData.EmailProfiler.Application/Common/Dtos/EmailHistories/EmailHistoryDto.cs @@ -0,0 +1,21 @@ +using DigitalData.EmailProfiler.Application.Common.Dtos.EmailAttachments; + +namespace DigitalData.EmailProfiler.Application.Common.Dtos.EmailHistories; + +/// +/// DTO for EmailHistory query results. +/// +public class EmailHistoryDto +{ + public int Id { get; set; } + public int? ProfileId { get; set; } + public string? ProfileName { get; set; } + public string? SenderAddress { get; set; } + public string? Subject { get; set; } + public DateTime? EmailDate { get; set; } + public DateTime? ProcessedDate { get; set; } + public string? Status { get; set; } + public int? ErrorCodeValue { get; set; } + public string? ErrorMessage { get; set; } + public List Attachments { get; set; } = new(); +} diff --git a/src/DigitalData.EmailProfiler.Application/Common/Dtos/EmailHistories/UpdateEmailHistoryStatusDto.cs b/src/DigitalData.EmailProfiler.Application/Common/Dtos/EmailHistories/UpdateEmailHistoryStatusDto.cs new file mode 100644 index 0000000..98dfb83 --- /dev/null +++ b/src/DigitalData.EmailProfiler.Application/Common/Dtos/EmailHistories/UpdateEmailHistoryStatusDto.cs @@ -0,0 +1,11 @@ +namespace DigitalData.EmailProfiler.Application.Common.Dtos.EmailHistories; + +/// +/// DTO for updating EmailHistory status. +/// AutoMapper profile required: UpdateEmailHistoryStatusDto -> EmailHistory +/// +public record UpdateEmailHistoryStatusDto( + string Status, + DateTime? ProcessedDate = null, + int? ErrorCodeValue = null, + string? ErrorMessage = null); diff --git a/src/DigitalData.EmailProfiler.Application/Common/Dtos/EmailProfileDto.cs b/src/DigitalData.EmailProfiler.Application/Common/Dtos/EmailProfileDto.cs new file mode 100644 index 0000000..a8e765b --- /dev/null +++ b/src/DigitalData.EmailProfiler.Application/Common/Dtos/EmailProfileDto.cs @@ -0,0 +1,18 @@ +namespace DigitalData.EmailProfiler.Application.Common.Dtos; + +/// +/// DTO for EmailProfile query results. +/// +public class EmailProfileDto +{ + public int Id { get; set; } + public string ProfileName { get; set; } = string.Empty; + public int EmailAccountId { get; set; } + public string? EmailAccountName { get; set; } + public int? ProcessId { get; set; } + public string? ProcessName { get; set; } + public int PollIntervalMinutes { get; set; } + public DateTime? LastPollTime { get; set; } + public bool IsActive { get; set; } + public string? Comment { get; set; } +}