mirror of
https://github.com/bitwarden/server.git
synced 2025-07-15 22:57:44 -05:00
[PM-13013] add delete many async method to i user repository and i user service for bulk user deletion (#5035)
* Add DeleteManyAsync method and stored procedure * Add DeleteManyAsync and tests * removed stored procedure, refactor User_DeleteById to accept multiple Ids * add sproc, refactor tests * revert existing sproc * add bulk delete to IUserService * fix sproc * fix and add tests * add migration script, fix test * Add feature flag * add feature flag to tests for deleteManyAsync * enable nullable, delete only user that pass validation * revert changes to DeleteAsync * Cleanup whitespace * remove redundant feature flag * fix tests * move DeleteManyAsync from UserService into DeleteManagedOrganizationUserAccountCommand * refactor validation, remove unneeded tasks * refactor tests, remove unused service
This commit is contained in:
@ -172,6 +172,18 @@ public class UserRepository : Repository<User, Guid>, IUserRepository
|
||||
commandTimeout: 180);
|
||||
}
|
||||
}
|
||||
public async Task DeleteManyAsync(IEnumerable<User> users)
|
||||
{
|
||||
var ids = users.Select(user => user.Id);
|
||||
using (var connection = new SqlConnection(ConnectionString))
|
||||
{
|
||||
await connection.ExecuteAsync(
|
||||
$"[{Schema}].[{Table}_DeleteByIds]",
|
||||
new { Ids = JsonSerializer.Serialize(ids) },
|
||||
commandType: CommandType.StoredProcedure,
|
||||
commandTimeout: 180);
|
||||
}
|
||||
}
|
||||
|
||||
public async Task UpdateStorageAsync(Guid id)
|
||||
{
|
||||
|
Reference in New Issue
Block a user