1
0
mirror of https://github.com/bitwarden/server synced 2025-12-25 20:53:16 +00:00

bulk action apis for delete and move

This commit is contained in:
Kyle Spearrin
2017-06-09 00:30:59 -04:00
parent 90402b0802
commit d3073e675e
6 changed files with 70 additions and 0 deletions

View File

@@ -19,6 +19,8 @@ namespace Bit.Core.Repositories
Task UpsertAsync(CipherDetails cipher);
Task ReplaceAsync(Cipher obj, IEnumerable<Guid> collectionIds);
Task UpdatePartialAsync(Guid id, Guid userId, Guid? folderId, bool favorite);
Task DeleteAsync(IEnumerable<Guid> ids, Guid userId);
Task MoveAsync(IEnumerable<Guid> ids, Guid folderId, Guid userId);
Task UpdateUserKeysAndCiphersAsync(User user, IEnumerable<Cipher> ciphers, IEnumerable<Folder> folders);
Task CreateAsync(IEnumerable<Cipher> ciphers, IEnumerable<Folder> folders);
}

View File

@@ -176,6 +176,28 @@ namespace Bit.Core.Repositories.SqlServer
}
}
public async Task DeleteAsync(IEnumerable<Guid> ids, Guid userId)
{
using(var connection = new SqlConnection(ConnectionString))
{
var results = await connection.ExecuteAsync(
$"[{Schema}].[Cipher_Delete]",
new { Ids = ids.ToGuidIdArrayTVP(), UserId = userId },
commandType: CommandType.StoredProcedure);
}
}
public async Task MoveAsync(IEnumerable<Guid> ids, Guid folderId, Guid userId)
{
using(var connection = new SqlConnection(ConnectionString))
{
var results = await connection.ExecuteAsync(
$"[{Schema}].[Cipher_Move]",
new { Ids = ids.ToGuidIdArrayTVP(), FolderId = folderId, UserId = userId },
commandType: CommandType.StoredProcedure);
}
}
public Task UpdateUserKeysAndCiphersAsync(User user, IEnumerable<Cipher> ciphers, IEnumerable<Folder> folders)
{
using(var connection = new SqlConnection(ConnectionString))