add enable disable remove user and isenabled in user column

This commit is contained in:
Oleksandr Bezdieniezhnykh
2025-09-22 19:37:17 +03:00
parent a4295c6c52
commit 3167df8bd7
4 changed files with 36 additions and 2 deletions
+18 -1
View File
@@ -4,7 +4,6 @@ using Azaion.Common.Entities;
using Azaion.Common.Extensions;
using Azaion.Common.Requests;
using LinqToDB;
using Newtonsoft.Json;
namespace Azaion.Services;
@@ -17,6 +16,8 @@ public interface IUserService
Task UpdateQueueOffsets(string email, UserQueueOffsets queueOffsets, CancellationToken ct = default);
Task<IEnumerable<User>> GetUsers(string? searchEmail, RoleEnum? searchRole, CancellationToken ct = default);
Task<string> CheckHardwareHash(User user, string hardware, CancellationToken ct = default);
Task SetEnableStatus(string email, bool isEnabled, CancellationToken ct = default);
Task RemoveUser(string email, CancellationToken ct = default);
}
public class UserService(IDbFactory dbFactory, ICache cache) : IUserService
@@ -128,4 +129,20 @@ public class UserService(IDbFactory dbFactory, ICache cache) : IUserService
LastLogin = DateTime.UtcNow
}, ct));
}
public async Task SetEnableStatus(string email, bool isEnabled, CancellationToken ct = default)
{
await dbFactory.RunAdmin(async db =>
await db.Users.UpdateAsync(x => x.Email == email, u => new User
{
IsEnabled = isEnabled
}, ct));
}
public async Task RemoveUser(string email, CancellationToken ct = default)
{
await dbFactory.RunAdmin(async db =>
await db.Users.DeleteAsync(x => x.Email == email, ct));
}
}