fleshout backend

This commit is contained in:
KS Jannette
2026-08-03 04:23:32 -04:00
parent a00282b1e6
commit 092ef17439
19 changed files with 500 additions and 52 deletions

View File

@@ -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);
}