24 lines
932 B
C#
24 lines
932 B
C#
using Lactose.Context;
|
|
using Lactose.Models;
|
|
using Microsoft.EntityFrameworkCore.ChangeTracking;
|
|
|
|
namespace Lactose.Repositories;
|
|
|
|
public class UserRepository(LactoseDbContext context) : IUserRepository {
|
|
public void Dispose() => context.DisposeAsync();
|
|
|
|
public async Task<IEnumerable<User>> GetAllAsync() => await context.Users.ToListAsync();
|
|
|
|
public async void InsertAsync(User user) => await context.Users.AddAsync(user);
|
|
|
|
public async void SaveAsync() => await context.SaveChangesAsync();
|
|
|
|
public async Task<User?> FindAsync(Guid id) => await context.Users.FindAsync(id);
|
|
|
|
public async Task<User?> FindByEmailAsync(string email) => await context.Users.FirstOrDefaultAsync(u => u.Email == email);
|
|
|
|
public async Task<User?> FindByUsernameAsync(string username) => await context.Users.FirstOrDefaultAsync(u => u.Username == username);
|
|
|
|
public void Delete(User user) => context.Users.Remove(user);
|
|
}
|