Contacts management.
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
using System.Collections.Generic;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using MimeKit;
|
||||
@@ -16,11 +17,25 @@ public interface IContactService
|
||||
Task SaveAddressInformationAsync(IEnumerable<AccountContact> contacts);
|
||||
Task<AccountContact> CreateNewContactAsync(string address, string displayName);
|
||||
|
||||
// New methods for ContactsPage
|
||||
// Paged contact queries for ContactsPage
|
||||
Task<List<AccountContact>> GetAllContactsAsync();
|
||||
Task<List<AccountContact>> SearchContactsAsync(string searchQuery);
|
||||
Task<PagedContactsResult> GetContactsPageAsync(int offset, int pageSize, string searchQuery = null, bool excludeRootContacts = false);
|
||||
Task<AccountContact> UpdateContactAsync(AccountContact contact);
|
||||
Task DeleteContactAsync(string address);
|
||||
Task DeleteContactsAsync(IEnumerable<string> addresses);
|
||||
|
||||
// Group / distribution list support
|
||||
Task<List<ContactGroup>> GetGroupsAsync();
|
||||
Task<ContactGroup> CreateGroupAsync(string name, string description = null);
|
||||
Task DeleteGroupAsync(Guid groupId);
|
||||
Task<List<AccountContact>> GetGroupMembersAsync(Guid groupId);
|
||||
Task AddGroupMemberAsync(Guid groupId, string memberAddress);
|
||||
Task RemoveGroupMemberAsync(Guid groupId, string memberAddress);
|
||||
|
||||
/// <summary>
|
||||
/// Expands a contact group to the individual <see cref="AccountContact"/> entries of its members.
|
||||
/// Returns an empty list if the group does not exist or has no members.
|
||||
/// </summary>
|
||||
Task<List<AccountContact>> ExpandGroupAsync(Guid groupId);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user