mirror of
https://github.com/azaion/admin.git
synced 2026-04-22 10:36:33 +00:00
add queue offsets to user
This commit is contained in:
@@ -15,6 +15,7 @@ public interface IUserService
|
||||
Task<User?> GetById(Guid? id, 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);
|
||||
Task<string> CheckHardwareHash(User user, GetResourceRequest request);
|
||||
}
|
||||
@@ -77,6 +78,23 @@ public class UserService(IDbFactory dbFactory, ICache cache) : IUserService
|
||||
cache.Invalidate(User.GetCacheKey(email));
|
||||
}
|
||||
|
||||
public async Task UpdateQueueOffsets(string email, UserQueueOffsets queueOffsets, CancellationToken cancellationToken = default)
|
||||
{
|
||||
await dbFactory.RunAdmin(async db =>
|
||||
{
|
||||
var userConfig = await db.Users.Where(x => x.Email == email).Select(x => x.UserConfig).FirstOrDefaultAsync(token: cancellationToken);
|
||||
userConfig ??= new UserConfig();
|
||||
userConfig.QueueConfig = queueOffsets;
|
||||
|
||||
await db.Users.UpdateAsync(x => x.Email == email,
|
||||
u => new User
|
||||
{
|
||||
UserConfig = userConfig
|
||||
}, token: cancellationToken);
|
||||
});
|
||||
cache.Invalidate(User.GetCacheKey(email));
|
||||
}
|
||||
|
||||
public async Task<IEnumerable<User>> GetUsers(string? searchEmail, RoleEnum? searchRole, CancellationToken cancellationToken) =>
|
||||
await dbFactory.Run(async db =>
|
||||
await db.Users
|
||||
|
||||
Reference in New Issue
Block a user