using MediaBrowser.Controller.Entities;
using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
namespace MediaBrowser.Controller.Persistence
{
///
/// Provides an interface to implement a User repository
///
public interface IUserRepository : IRepository
{
///
/// Opens the connection to the repository
///
/// Task.
void Initialize();
///
/// Deletes the user.
///
/// The user.
/// The cancellation token.
/// Task.
Task DeleteUser(User user, CancellationToken cancellationToken);
///
/// Saves the user.
///
/// The user.
/// The cancellation token.
/// Task.
Task SaveUser(User user, CancellationToken cancellationToken);
///
/// Retrieves all users.
///
/// IEnumerable{User}.
IEnumerable RetrieveAllUsers();
}
}