// Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using System; using System.Threading; using System.Threading.Tasks; namespace Microsoft.AspNet.Identity { /// /// Interface that exposes basic user management apis /// /// public interface IUserStore : IDisposable where TUser : class { /// /// Returns the user id for a user /// /// /// /// Task GetUserIdAsync(TUser user, CancellationToken cancellationToken); /// /// Returns the user's name /// /// /// /// Task GetUserNameAsync(TUser user, CancellationToken cancellationToken); /// /// Set the user name /// /// /// /// /// Task SetUserNameAsync(TUser user, string userName, CancellationToken cancellationToken); /// /// Returns the normalized user name /// /// /// /// Task GetNormalizedUserNameAsync(TUser user, CancellationToken cancellationToken); /// /// Set the normalized user name /// /// /// /// /// Task SetNormalizedUserNameAsync(TUser user, string normalizedName, CancellationToken cancellationToken); /// /// Insert a new user /// /// /// /// Task CreateAsync(TUser user, CancellationToken cancellationToken); /// /// UpdateAsync a user /// /// /// /// Task UpdateAsync(TUser user, CancellationToken cancellationToken); /// /// DeleteAsync a user /// /// /// /// Task DeleteAsync(TUser user, CancellationToken cancellationToken); /// /// Finds a user /// /// /// /// Task FindByIdAsync(string userId, CancellationToken cancellationToken); /// /// Returns the user associated with this normalized user name /// /// /// /// Task FindByNameAsync(string normalizedUserName, CancellationToken cancellationToken); } }