using Umbraco.Cms.Core.Models.Membership; using Umbraco.Cms.Core.Services.OperationStatus; namespace Umbraco.Cms.Core.Security; /// /// Manages persistence of users. /// public interface IBackOfficeUserStore { /// /// Saves an /// /// to Save /// A task resolving into an . Task SaveAsync(IUser user); /// /// Disables an /// /// to disable. /// A task resolving into an . Task DisableAsync(IUser user); /// /// Get an by username /// /// Username to use for retrieval. /// /// A task resolving into an /// Task GetByUserNameAsync(string username); /// /// Get an by email /// /// Email to use for retrieval. /// /// A task resolving into an /// Task GetByEmailAsync(string email); /// /// Gets a user by Id /// /// Id of the user to retrieve /// /// A task resolving into an /// Task GetAsync(int id); /// /// Gets a user by it's key. /// /// Key of the user to retrieve. /// Task resolving into an . Task GetAsync(Guid key); Task> GetUsersAsync(params Guid[]? keys); Task> GetUsersAsync(params int[]? ids); /// /// Gets a list of objects associated with a given group /// /// Id of group. /// /// A task resolving into an /// Task> GetAllInGroupAsync(int groupId); }