Merged feature/vNext. Initial commit for Wino Mail 2.0

This commit is contained in:
Burak Kaan Köse
2026-04-05 16:30:26 +02:00
1513 changed files with 93788 additions and 26896 deletions
@@ -0,0 +1,13 @@
using System;
using Wino.Core.Domain.Enums;
namespace Wino.Messaging.UI;
/// <summary>
/// Emitted when calendar synchronization state for an account changes.
/// </summary>
public record AccountCalendarSynchronizationStateChanged(
Guid AccountId,
CalendarSynchronizationType SynchronizationType,
bool IsSynchronizationInProgress,
string SynchronizationStatus = "") : UIMessageBase<AccountCalendarSynchronizationStateChanged>;
@@ -6,6 +6,14 @@ namespace Wino.Messaging.UI;
/// <summary>
/// Emitted when synchronizer state is updated.
/// </summary>
/// <param name="synchronizer">Account Synchronizer</param>
/// <param name="newState">New state.</param>
public record AccountSynchronizerStateChanged(Guid AccountId, AccountSynchronizerState NewState) : UIMessageBase<AccountSynchronizerStateChanged>;
/// <param name="AccountId">Account id</param>
/// <param name="NewState">New synchronizer state</param>
/// <param name="TotalItemsToSync">Total items to sync (0 for indeterminate)</param>
/// <param name="RemainingItemsToSync">Remaining items to sync</param>
/// <param name="SynchronizationStatus">Current synchronization status message</param>
public record AccountSynchronizerStateChanged(
Guid AccountId,
AccountSynchronizerState NewState,
int TotalItemsToSync = 0,
int RemainingItemsToSync = 0,
string SynchronizationStatus = "") : UIMessageBase<AccountSynchronizerStateChanged>;
+5
View File
@@ -0,0 +1,5 @@
using Wino.Core.Domain.Entities.Mail;
namespace Wino.Messaging.UI;
public record FolderDeleted(MailItemFolder MailItemFolder) : UIMessageBase<FolderDeleted>;
+2 -1
View File
@@ -1,5 +1,6 @@
using Wino.Core.Domain.Entities.Mail;
using Wino.Core.Domain.Enums;
namespace Wino.Messaging.UI;
public record MailUpdatedMessage(MailCopy UpdatedMail) : UIMessageBase<MailUpdatedMessage>;
public record MailUpdatedMessage(MailCopy UpdatedMail, MailUpdateSource Source, MailCopyChangeFlags ChangedProperties = MailCopyChangeFlags.None) : UIMessageBase<MailUpdatedMessage>;
@@ -0,0 +1,14 @@
using System;
using System.Collections.Generic;
using Wino.Core.Domain.Models.Synchronization;
namespace Wino.Messaging.UI;
/// <summary>
/// Sent when synchronization requests are queued for an account.
/// Contains grouped action descriptions for the UI to display.
/// </summary>
public record SynchronizationActionsAdded(
Guid AccountId,
string AccountName,
List<SynchronizationActionItem> Actions) : UIMessageBase<SynchronizationActionsAdded>;
@@ -0,0 +1,9 @@
using System;
namespace Wino.Messaging.UI;
/// <summary>
/// Sent when all queued synchronization requests for an account have been executed.
/// </summary>
public record SynchronizationActionsCompleted(
Guid AccountId) : UIMessageBase<SynchronizationActionsCompleted>;
@@ -0,0 +1,3 @@
namespace Wino.Messaging.UI;
public record TitleBarShellContentUpdated;
@@ -0,0 +1,3 @@
namespace Wino.Messaging.UI;
public record WelcomeImportCompletedMessage(int ImportedMailboxCount) : UIMessageBase<WelcomeImportCompletedMessage>;
@@ -0,0 +1,5 @@
using Wino.Core.Domain.Enums;
namespace Wino.Messaging.UI;
public record WinoAccountAddOnPurchasedMessage(WinoAddOnProductType ProductType) : UIMessageBase<WinoAccountAddOnPurchasedMessage>;
@@ -0,0 +1,5 @@
using Wino.Core.Domain.Entities.Shared;
namespace Wino.Messaging.UI;
public record WinoAccountProfileDeletedMessage(WinoAccount Account) : UIMessageBase<WinoAccountProfileDeletedMessage>;
@@ -0,0 +1,5 @@
using Wino.Core.Domain.Entities.Shared;
namespace Wino.Messaging.UI;
public record WinoAccountProfileUpdatedMessage(WinoAccount Account) : UIMessageBase<WinoAccountProfileUpdatedMessage>;
@@ -0,0 +1,5 @@
using Wino.Core.Domain.Entities.Shared;
namespace Wino.Messaging.UI;
public record WinoAccountSignedInMessage(WinoAccount Account) : UIMessageBase<WinoAccountSignedInMessage>;
@@ -0,0 +1,5 @@
using Wino.Core.Domain.Entities.Shared;
namespace Wino.Messaging.UI;
public record WinoAccountSignedOutMessage(WinoAccount Account) : UIMessageBase<WinoAccountSignedOutMessage>;