fix cache issue

This commit is contained in:
Alex Bezdieniezhnykh
2025-04-16 01:49:34 +03:00
parent 461606ef08
commit 4fc1fb4d63
3 changed files with 11 additions and 21 deletions
+4 -9
View File
@@ -12,8 +12,7 @@ public interface IUserService
{
Task RegisterUser(RegisterUserRequest request, CancellationToken cancellationToken = default);
Task<User> ValidateUser(LoginRequest request, CancellationToken cancellationToken = default);
Task<User?> GetById(Guid? id, CancellationToken cancellationToken = default);
Task<User?> GetByEmail(string email, CancellationToken cancellationToken = default);
Task<User?> GetByEmail(string? email, CancellationToken cancellationToken = default);
Task UpdateHardware(string email, HardwareInfo hardwareInfo, CancellationToken cancellationToken = default);
Task UpdateQueueOffsets(string email, UserQueueOffsets queueOffsets, CancellationToken cancellationToken = default);
Task<IEnumerable<User>> GetUsers(string? searchEmail, RoleEnum? searchRole, CancellationToken cancellationToken);
@@ -40,14 +39,10 @@ public class UserService(IDbFactory dbFactory, ICache cache) : IUserService
});
}
public async Task<User?> GetById(Guid? id, CancellationToken cancellationToken = default) =>
await cache.GetFromCacheAsync($"{nameof(User)}.{id}",
public async Task<User?> GetByEmail(string? email, CancellationToken cancellationToken = default) =>
await cache.GetFromCacheAsync(User.GetCacheKey(email),
async () => await dbFactory.Run(async db =>
await db.Users.FirstOrDefaultAsync(x => x.Id == id, cancellationToken)), TimeSpan.FromHours(2));
public async Task<User?> GetByEmail(string email, CancellationToken cancellationToken = default) =>
await dbFactory.Run(async db =>
await db.Users.FirstOrDefaultAsync(x => x.Email == email, cancellationToken));
await db.Users.FirstOrDefaultAsync(x => x.Email == email, cancellationToken)));
public async Task<User> ValidateUser(LoginRequest request, CancellationToken cancellationToken = default) =>
await dbFactory.Run(async db =>