fleshout backend
This commit is contained in:
@@ -1,5 +1,22 @@
|
||||
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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user