using System; using System.Threading; using System.Threading.Tasks; namespace Microsoft.AspNet.Identity { /// /// Interface that exposes basic role management /// /// /// public interface IRoleStore : IDisposable where TRole : IRole { /// /// Insert a new role /// /// /// /// Task Create(TRole role, CancellationToken cancellationToken = default(CancellationToken)); /// /// Update a role /// /// /// /// Task Update(TRole role, CancellationToken cancellationToken = default(CancellationToken)); /// /// Delete a role /// /// /// /// Task Delete(TRole role, CancellationToken cancellationToken = default(CancellationToken)); /// /// Finds a role by id /// /// /// /// Task FindById(TKey roleId, CancellationToken cancellationToken = default(CancellationToken)); /// /// Find a role by name /// /// /// /// Task FindByName(string roleName, CancellationToken cancellationToken = default(CancellationToken)); } }