23 lines
961 B
C#
23 lines
961 B
C#
namespace Backend.Data;
|
|
|
|
/// <summary>
|
|
/// Storage-agnostic access to <see cref="User"/>. Implementations are selected by the
|
|
/// <c>Persistence:Provider</c> setting; see <see cref="PersistenceServiceCollectionExtensions"/>.
|
|
/// </summary>
|
|
public interface IUserRepository
|
|
{
|
|
Task<IReadOnlyList<User>> GetAllAsync(CancellationToken cancellationToken = default);
|
|
|
|
Task<User?> GetByIdAsync(Guid id, CancellationToken cancellationToken = default);
|
|
|
|
Task<User?> GetByEmailAsync(string email, CancellationToken cancellationToken = default);
|
|
|
|
Task<User> AddAsync(User user, CancellationToken cancellationToken = default);
|
|
|
|
/// <returns>The updated user, or <c>null</c> when no user has the given id.</returns>
|
|
Task<User?> UpdateAsync(User user, CancellationToken cancellationToken = default);
|
|
|
|
/// <returns><c>true</c> when a user was removed.</returns>
|
|
Task<bool> DeleteAsync(Guid id, CancellationToken cancellationToken = default);
|
|
}
|