Merge pull request #217 from Tiktack/features/SignaturesImprovements

Re-implemented signature page to support multiple signatures
This commit is contained in:
Burak Kaan Köse
2024-06-13 23:41:08 +02:00
committed by GitHub
19 changed files with 1190 additions and 1305 deletions

View File

@@ -47,5 +47,11 @@ namespace Wino.Core.Domain.Interfaces
/// <param name="reason">The reason behind the picking operation
/// <returns>Selected folder structure. Null if none.</returns>
Task<IMailItemFolder> PickFolderAsync(Guid accountId, PickFolderReason reason, IFolderService folderService);
/// <summary>
/// Presents a dialog to the user for signature creation/modification.
/// </summary>
/// <returns>Signature information. Null if canceled.</returns>
Task<AccountSignature> ShowSignatureEditorDialog(AccountSignature signatureModel = null);
}
}

View File

@@ -1,4 +1,5 @@
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Wino.Core.Domain.Entities;
@@ -7,27 +8,40 @@ namespace Wino.Core.Domain.Interfaces
public interface ISignatureService
{
/// <summary>
/// Returns the assigned account signature for the account.
/// Get one signature by Id.
/// </summary>
/// <param name="accountId"></param>
/// <returns></returns>
Task<AccountSignature> GetAccountSignatureAsync(Guid accountId);
/// <param name="signatureId">Signature Id.</param>
Task<AccountSignature> GetSignatureAsync(Guid signatureId);
/// <summary>
/// Creates the initial signature for new created accounts.
/// Returns all signatures for specified account.
/// </summary>
/// <param name="accountId"></param>
/// <returns></returns>
/// <param name="accountId">Account id</param>
Task<List<AccountSignature>> GetSignaturesAsync(Guid accountId);
/// <summary>
/// Creates a new signature for the account.
/// </summary>
/// <param name="signature">Signature that should be created. It should contain ID and account to which it belongs.</param>
Task<AccountSignature> CreateSignatureAsync(AccountSignature signature);
/// <summary>
/// Creates a default Wino signature for the account.
/// Needed only for initial account setup.
/// </summary>
/// <param name="accountId">Account Id.</param>
Task<AccountSignature> CreateDefaultSignatureAsync(Guid accountId);
/// <summary>
/// Updates account's existing signature with the given HTML signature.
/// Updates existing signature.
/// </summary>
Task<AccountSignature> UpdateAccountSignatureAsync(Guid accountId, string htmlBody);
/// <param name="signature">Signature that should be updated. It should contain ID and account to which it belongs.</param>
Task<AccountSignature> UpdateSignatureAsync(AccountSignature signature);
/// <summary>
/// Disabled signature for the account and deletes existing signature.
/// Deletes existing signature.
/// </summary>
Task DeleteAccountSignatureAssignment(Guid accountId);
/// <param name="signature">Signature that should be deleted.</param>
Task<AccountSignature> DeleteSignatureAsync(AccountSignature signature);
}
}