using Wino.Domain.Models.Folders; using Wino.Domain.Models.MailItem; namespace Wino.Domain.Interfaces { /// /// Prepares server requests and delegates them to proper synchronizers. /// This is the last point for sending the server request. /// public interface IWinoRequestDelegator { /// /// Prepares requires IRequest collection for mail actions and executes them via proper synchronizers. /// /// Preperation model that encapsulates action and mail items. Task QueueAsync(MailOperationPreperationRequest prerperationRequest); /// /// Queues new draft creation request for synchronizer. /// /// A class that holds the parameters for creating a draft. Task QueueAsync(DraftPreperationRequest draftPreperationRequest); /// /// Queues a new request for synchronizer to send a draft. /// /// Draft sending request. Task QueueAsync(SendDraftPreparationRequest sendDraftPreperationRequest); /// /// Prepares required IRequest collection for folder actions and executes them via proper synchronizers. /// /// Folder prep request. Task QueueAsync(FolderOperationPreperationRequest folderOperationPreperationRequest); } }