From 158b5620078c6d6c24595caaa70190d09f2a769d Mon Sep 17 00:00:00 2001 From: TekH Date: Mon, 17 Aug 2026 10:48:45 +0200 Subject: [PATCH] feat(domain/application): add IncomingProtocol field to EmailAccount entity and account DTOs --- .../Common/Dto/EmailAccounts/EmailAccountDto.cs | 7 +++++++ .../Dto/EmailAccounts/EmailAccountModificationDto.cs | 7 +++++++ .../Entities/EmailAccount.cs | 9 +++++++++ 3 files changed, 23 insertions(+) diff --git a/src/core/DigitalData.MessagingService.Application/Common/Dto/EmailAccounts/EmailAccountDto.cs b/src/core/DigitalData.MessagingService.Application/Common/Dto/EmailAccounts/EmailAccountDto.cs index 5ab16f6..2a4aa25 100644 --- a/src/core/DigitalData.MessagingService.Application/Common/Dto/EmailAccounts/EmailAccountDto.cs +++ b/src/core/DigitalData.MessagingService.Application/Common/Dto/EmailAccounts/EmailAccountDto.cs @@ -1,3 +1,5 @@ +using DigitalData.MessagingService.Domain.Enums; + namespace DigitalData.MessagingService.Application.Common.Dto.EmailAccounts; /// @@ -53,4 +55,9 @@ public record EmailAccountDto public string? OAuth2ClientId { get; set; } public string? OAuth2TenantId { get; set; } + + /// + /// The protocol used to receive (sync) incoming emails. + /// + public IncomingProtocol IncomingProtocol { get; set; } = IncomingProtocol.None; } \ No newline at end of file diff --git a/src/core/DigitalData.MessagingService.Application/Common/Dto/EmailAccounts/EmailAccountModificationDto.cs b/src/core/DigitalData.MessagingService.Application/Common/Dto/EmailAccounts/EmailAccountModificationDto.cs index 4775dd0..006af07 100644 --- a/src/core/DigitalData.MessagingService.Application/Common/Dto/EmailAccounts/EmailAccountModificationDto.cs +++ b/src/core/DigitalData.MessagingService.Application/Common/Dto/EmailAccounts/EmailAccountModificationDto.cs @@ -1,3 +1,5 @@ +using DigitalData.MessagingService.Domain.Enums; + namespace DigitalData.MessagingService.Application.Common.Dto.EmailAccounts; /// @@ -56,4 +58,9 @@ public record EmailAccountModificationDto public string? OAuth2ClientSecret { get; set; } public string? OAuth2TenantId { get; set; } + + /// + /// The protocol used to receive (sync) incoming emails. + /// + public IncomingProtocol IncomingProtocol { get; set; } = IncomingProtocol.None; } \ No newline at end of file diff --git a/src/core/DigitalData.MessagingService.Domain/Entities/EmailAccount.cs b/src/core/DigitalData.MessagingService.Domain/Entities/EmailAccount.cs index 997fdc5..691229e 100644 --- a/src/core/DigitalData.MessagingService.Domain/Entities/EmailAccount.cs +++ b/src/core/DigitalData.MessagingService.Domain/Entities/EmailAccount.cs @@ -1,5 +1,6 @@ using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; +using DigitalData.MessagingService.Domain.Enums; namespace DigitalData.MessagingService.Domain.Entities; @@ -113,4 +114,12 @@ public class EmailAccount [MaxLength(256)] [Column("OAUTH2_TENANT_ID", TypeName = "nvarchar(256)")] public string? OAuth2TenantId { get; set; } + + /// + /// The protocol used to receive (sync) incoming emails. + /// When set to , this account is send-only and will be skipped by the sync worker. + /// Takes priority over the presence of or . + /// + [Column("INCOMING_PROTOCOL", TypeName = "int")] + public IncomingProtocol IncomingProtocol { get; set; } = IncomingProtocol.None; } \ No newline at end of file