mirror of
https://github.com/bitwarden/server.git
synced 2025-05-20 11:04:31 -05:00
[AC-2809] Remove unused FlexibleCollections feature flag from Cipher Repository (#4282)
Remove FlexibleCollections feature flag logic for repository methods: * CiphersController.GetByIdAsync * CipherRepository.DeleteAsync * CipherRepository.MoveAsync * RestoreAsync * SoftDeleteAsync This feature flag was never turned on and we will update the sprocs directly as required.
This commit is contained in:
parent
8471326b1e
commit
4e0a981b43
@ -1261,7 +1261,7 @@ public class CiphersController : Controller
|
|||||||
|
|
||||||
private async Task<CipherDetails> GetByIdAsync(Guid cipherId, Guid userId)
|
private async Task<CipherDetails> GetByIdAsync(Guid cipherId, Guid userId)
|
||||||
{
|
{
|
||||||
return await _cipherRepository.GetByIdAsync(cipherId, userId, UseFlexibleCollections);
|
return await _cipherRepository.GetByIdAsync(cipherId, userId);
|
||||||
}
|
}
|
||||||
|
|
||||||
private bool UseFlexibleCollectionsV1()
|
private bool UseFlexibleCollectionsV1()
|
||||||
|
@ -411,7 +411,7 @@ public class EmergencyAccessService : IEmergencyAccessService
|
|||||||
throw new BadRequestException("Emergency Access not valid.");
|
throw new BadRequestException("Emergency Access not valid.");
|
||||||
}
|
}
|
||||||
|
|
||||||
var cipher = await _cipherRepository.GetByIdAsync(cipherId, emergencyAccess.GrantorId, UseFlexibleCollections);
|
var cipher = await _cipherRepository.GetByIdAsync(cipherId, emergencyAccess.GrantorId);
|
||||||
return await _cipherService.GetAttachmentDownloadDataAsync(cipher, attachmentId);
|
return await _cipherService.GetAttachmentDownloadDataAsync(cipher, attachmentId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -8,7 +8,7 @@ namespace Bit.Core.Vault.Repositories;
|
|||||||
|
|
||||||
public interface ICipherRepository : IRepository<Cipher, Guid>
|
public interface ICipherRepository : IRepository<Cipher, Guid>
|
||||||
{
|
{
|
||||||
Task<CipherDetails> GetByIdAsync(Guid id, Guid userId, bool useFlexibleCollections);
|
Task<CipherDetails> GetByIdAsync(Guid id, Guid userId);
|
||||||
Task<CipherOrganizationDetails> GetOrganizationDetailsByIdAsync(Guid id);
|
Task<CipherOrganizationDetails> GetOrganizationDetailsByIdAsync(Guid id);
|
||||||
Task<ICollection<CipherOrganizationDetails>> GetManyOrganizationDetailsByOrganizationIdAsync(Guid organizationId);
|
Task<ICollection<CipherOrganizationDetails>> GetManyOrganizationDetailsByOrganizationIdAsync(Guid organizationId);
|
||||||
Task<bool> GetCanEditByIdAsync(Guid userId, Guid cipherId);
|
Task<bool> GetCanEditByIdAsync(Guid userId, Guid cipherId);
|
||||||
@ -24,18 +24,18 @@ public interface ICipherRepository : IRepository<Cipher, Guid>
|
|||||||
Task UpdatePartialAsync(Guid id, Guid userId, Guid? folderId, bool favorite);
|
Task UpdatePartialAsync(Guid id, Guid userId, Guid? folderId, bool favorite);
|
||||||
Task UpdateAttachmentAsync(CipherAttachment attachment);
|
Task UpdateAttachmentAsync(CipherAttachment attachment);
|
||||||
Task DeleteAttachmentAsync(Guid cipherId, string attachmentId);
|
Task DeleteAttachmentAsync(Guid cipherId, string attachmentId);
|
||||||
Task DeleteAsync(IEnumerable<Guid> ids, Guid userId, bool useFlexibleCollections);
|
Task DeleteAsync(IEnumerable<Guid> ids, Guid userId);
|
||||||
Task DeleteByIdsOrganizationIdAsync(IEnumerable<Guid> ids, Guid organizationId);
|
Task DeleteByIdsOrganizationIdAsync(IEnumerable<Guid> ids, Guid organizationId);
|
||||||
Task MoveAsync(IEnumerable<Guid> ids, Guid? folderId, Guid userId, bool useFlexibleCollections);
|
Task MoveAsync(IEnumerable<Guid> ids, Guid? folderId, Guid userId);
|
||||||
Task DeleteByUserIdAsync(Guid userId);
|
Task DeleteByUserIdAsync(Guid userId);
|
||||||
Task DeleteByOrganizationIdAsync(Guid organizationId);
|
Task DeleteByOrganizationIdAsync(Guid organizationId);
|
||||||
Task UpdateCiphersAsync(Guid userId, IEnumerable<Cipher> ciphers);
|
Task UpdateCiphersAsync(Guid userId, IEnumerable<Cipher> ciphers);
|
||||||
Task CreateAsync(IEnumerable<Cipher> ciphers, IEnumerable<Folder> folders);
|
Task CreateAsync(IEnumerable<Cipher> ciphers, IEnumerable<Folder> folders);
|
||||||
Task CreateAsync(IEnumerable<Cipher> ciphers, IEnumerable<Collection> collections,
|
Task CreateAsync(IEnumerable<Cipher> ciphers, IEnumerable<Collection> collections,
|
||||||
IEnumerable<CollectionCipher> collectionCiphers, IEnumerable<CollectionUser> collectionUsers);
|
IEnumerable<CollectionCipher> collectionCiphers, IEnumerable<CollectionUser> collectionUsers);
|
||||||
Task SoftDeleteAsync(IEnumerable<Guid> ids, Guid userId, bool useFlexibleCollections);
|
Task SoftDeleteAsync(IEnumerable<Guid> ids, Guid userId);
|
||||||
Task SoftDeleteByIdsOrganizationIdAsync(IEnumerable<Guid> ids, Guid organizationId);
|
Task SoftDeleteByIdsOrganizationIdAsync(IEnumerable<Guid> ids, Guid organizationId);
|
||||||
Task<DateTime> RestoreAsync(IEnumerable<Guid> ids, Guid userId, bool useFlexibleCollections);
|
Task<DateTime> RestoreAsync(IEnumerable<Guid> ids, Guid userId);
|
||||||
Task<DateTime> RestoreByIdsOrganizationIdAsync(IEnumerable<Guid> ids, Guid organizationId);
|
Task<DateTime> RestoreByIdsOrganizationIdAsync(IEnumerable<Guid> ids, Guid organizationId);
|
||||||
Task DeleteDeletedAsync(DateTime deletedDateBefore);
|
Task DeleteDeletedAsync(DateTime deletedDateBefore);
|
||||||
|
|
||||||
|
@ -433,7 +433,7 @@ public class CipherService : ICipherService
|
|||||||
var ciphers = await _cipherRepository.GetManyByUserIdAsync(deletingUserId, useFlexibleCollections: UseFlexibleCollections);
|
var ciphers = await _cipherRepository.GetManyByUserIdAsync(deletingUserId, useFlexibleCollections: UseFlexibleCollections);
|
||||||
deletingCiphers = ciphers.Where(c => cipherIdsSet.Contains(c.Id) && c.Edit).Select(x => (Cipher)x).ToList();
|
deletingCiphers = ciphers.Where(c => cipherIdsSet.Contains(c.Id) && c.Edit).Select(x => (Cipher)x).ToList();
|
||||||
|
|
||||||
await _cipherRepository.DeleteAsync(deletingCiphers.Select(c => c.Id), deletingUserId, UseFlexibleCollections);
|
await _cipherRepository.DeleteAsync(deletingCiphers.Select(c => c.Id), deletingUserId);
|
||||||
}
|
}
|
||||||
|
|
||||||
var events = deletingCiphers.Select(c =>
|
var events = deletingCiphers.Select(c =>
|
||||||
@ -485,7 +485,7 @@ public class CipherService : ICipherService
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
await _cipherRepository.MoveAsync(cipherIds, destinationFolderId, movingUserId, UseFlexibleCollections);
|
await _cipherRepository.MoveAsync(cipherIds, destinationFolderId, movingUserId);
|
||||||
// push
|
// push
|
||||||
await _pushService.PushSyncCiphersAsync(movingUserId);
|
await _pushService.PushSyncCiphersAsync(movingUserId);
|
||||||
}
|
}
|
||||||
@ -878,7 +878,7 @@ public class CipherService : ICipherService
|
|||||||
var ciphers = await _cipherRepository.GetManyByUserIdAsync(deletingUserId, useFlexibleCollections: UseFlexibleCollections);
|
var ciphers = await _cipherRepository.GetManyByUserIdAsync(deletingUserId, useFlexibleCollections: UseFlexibleCollections);
|
||||||
deletingCiphers = ciphers.Where(c => cipherIdsSet.Contains(c.Id) && c.Edit).Select(x => (Cipher)x).ToList();
|
deletingCiphers = ciphers.Where(c => cipherIdsSet.Contains(c.Id) && c.Edit).Select(x => (Cipher)x).ToList();
|
||||||
|
|
||||||
await _cipherRepository.SoftDeleteAsync(deletingCiphers.Select(c => c.Id), deletingUserId, UseFlexibleCollections);
|
await _cipherRepository.SoftDeleteAsync(deletingCiphers.Select(c => c.Id), deletingUserId);
|
||||||
}
|
}
|
||||||
|
|
||||||
var events = deletingCiphers.Select(c =>
|
var events = deletingCiphers.Select(c =>
|
||||||
@ -944,7 +944,7 @@ public class CipherService : ICipherService
|
|||||||
var ciphers = await _cipherRepository.GetManyByUserIdAsync(restoringUserId, useFlexibleCollections: UseFlexibleCollections);
|
var ciphers = await _cipherRepository.GetManyByUserIdAsync(restoringUserId, useFlexibleCollections: UseFlexibleCollections);
|
||||||
restoringCiphers = ciphers.Where(c => cipherIdsSet.Contains(c.Id) && c.Edit).Select(c => (CipherOrganizationDetails)c).ToList();
|
restoringCiphers = ciphers.Where(c => cipherIdsSet.Contains(c.Id) && c.Edit).Select(c => (CipherOrganizationDetails)c).ToList();
|
||||||
|
|
||||||
revisionDate = await _cipherRepository.RestoreAsync(restoringCiphers.Select(c => c.Id), restoringUserId, UseFlexibleCollections);
|
revisionDate = await _cipherRepository.RestoreAsync(restoringCiphers.Select(c => c.Id), restoringUserId);
|
||||||
}
|
}
|
||||||
|
|
||||||
var events = restoringCiphers.Select(c =>
|
var events = restoringCiphers.Select(c =>
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
using Bit.Core;
|
using Bit.Core.Context;
|
||||||
using Bit.Core.Context;
|
|
||||||
using Bit.Core.Enums;
|
using Bit.Core.Enums;
|
||||||
using Bit.Core.Repositories;
|
using Bit.Core.Repositories;
|
||||||
using Bit.Core.Services;
|
using Bit.Core.Services;
|
||||||
@ -73,10 +72,8 @@ public class CollectController : Controller
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
var useFlexibleCollections = _featureService.IsEnabled(FeatureFlagKeys.FlexibleCollections);
|
|
||||||
cipher = await _cipherRepository.GetByIdAsync(eventModel.CipherId.Value,
|
cipher = await _cipherRepository.GetByIdAsync(eventModel.CipherId.Value,
|
||||||
_currentContext.UserId.Value,
|
_currentContext.UserId.Value);
|
||||||
useFlexibleCollections);
|
|
||||||
}
|
}
|
||||||
if (cipher == null)
|
if (cipher == null)
|
||||||
{
|
{
|
||||||
|
@ -24,16 +24,12 @@ public class CipherRepository : Repository<Cipher, Guid>, ICipherRepository
|
|||||||
: base(connectionString, readOnlyConnectionString)
|
: base(connectionString, readOnlyConnectionString)
|
||||||
{ }
|
{ }
|
||||||
|
|
||||||
public async Task<CipherDetails> GetByIdAsync(Guid id, Guid userId, bool useFlexibleCollections)
|
public async Task<CipherDetails> GetByIdAsync(Guid id, Guid userId)
|
||||||
{
|
{
|
||||||
var sprocName = useFlexibleCollections
|
|
||||||
? $"[{Schema}].[CipherDetails_ReadByIdUserId_V2]"
|
|
||||||
: $"[{Schema}].[CipherDetails_ReadByIdUserId]";
|
|
||||||
|
|
||||||
using (var connection = new SqlConnection(ConnectionString))
|
using (var connection = new SqlConnection(ConnectionString))
|
||||||
{
|
{
|
||||||
var results = await connection.QueryAsync<CipherDetails>(
|
var results = await connection.QueryAsync<CipherDetails>(
|
||||||
sprocName,
|
$"[{Schema}].[CipherDetails_ReadByIdUserId]",
|
||||||
new { Id = id, UserId = userId },
|
new { Id = id, UserId = userId },
|
||||||
commandType: CommandType.StoredProcedure);
|
commandType: CommandType.StoredProcedure);
|
||||||
|
|
||||||
@ -249,16 +245,12 @@ public class CipherRepository : Repository<Cipher, Guid>, ICipherRepository
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task DeleteAsync(IEnumerable<Guid> ids, Guid userId, bool useFlexibleCollections)
|
public async Task DeleteAsync(IEnumerable<Guid> ids, Guid userId)
|
||||||
{
|
{
|
||||||
var sprocName = useFlexibleCollections
|
|
||||||
? $"[{Schema}].[Cipher_Delete_V2]"
|
|
||||||
: $"[{Schema}].[Cipher_Delete]";
|
|
||||||
|
|
||||||
using (var connection = new SqlConnection(ConnectionString))
|
using (var connection = new SqlConnection(ConnectionString))
|
||||||
{
|
{
|
||||||
var results = await connection.ExecuteAsync(
|
var results = await connection.ExecuteAsync(
|
||||||
sprocName,
|
$"[{Schema}].[Cipher_Delete]",
|
||||||
new { Ids = ids.ToGuidIdArrayTVP(), UserId = userId },
|
new { Ids = ids.ToGuidIdArrayTVP(), UserId = userId },
|
||||||
commandType: CommandType.StoredProcedure);
|
commandType: CommandType.StoredProcedure);
|
||||||
}
|
}
|
||||||
@ -286,16 +278,12 @@ public class CipherRepository : Repository<Cipher, Guid>, ICipherRepository
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task MoveAsync(IEnumerable<Guid> ids, Guid? folderId, Guid userId, bool useFlexibleCollections)
|
public async Task MoveAsync(IEnumerable<Guid> ids, Guid? folderId, Guid userId)
|
||||||
{
|
{
|
||||||
var sprocName = useFlexibleCollections
|
|
||||||
? $"[{Schema}].[Cipher_Move_V2]"
|
|
||||||
: $"[{Schema}].[Cipher_Move]";
|
|
||||||
|
|
||||||
using (var connection = new SqlConnection(ConnectionString))
|
using (var connection = new SqlConnection(ConnectionString))
|
||||||
{
|
{
|
||||||
var results = await connection.ExecuteAsync(
|
var results = await connection.ExecuteAsync(
|
||||||
sprocName,
|
$"[{Schema}].[Cipher_Move]",
|
||||||
new { Ids = ids.ToGuidIdArrayTVP(), FolderId = folderId, UserId = userId },
|
new { Ids = ids.ToGuidIdArrayTVP(), FolderId = folderId, UserId = userId },
|
||||||
commandType: CommandType.StoredProcedure);
|
commandType: CommandType.StoredProcedure);
|
||||||
}
|
}
|
||||||
@ -579,31 +567,23 @@ public class CipherRepository : Repository<Cipher, Guid>, ICipherRepository
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task SoftDeleteAsync(IEnumerable<Guid> ids, Guid userId, bool useFlexibleCollections)
|
public async Task SoftDeleteAsync(IEnumerable<Guid> ids, Guid userId)
|
||||||
{
|
{
|
||||||
var sprocName = useFlexibleCollections
|
|
||||||
? $"[{Schema}].[Cipher_SoftDelete_V2]"
|
|
||||||
: $"[{Schema}].[Cipher_SoftDelete]";
|
|
||||||
|
|
||||||
using (var connection = new SqlConnection(ConnectionString))
|
using (var connection = new SqlConnection(ConnectionString))
|
||||||
{
|
{
|
||||||
var results = await connection.ExecuteAsync(
|
var results = await connection.ExecuteAsync(
|
||||||
sprocName,
|
$"[{Schema}].[Cipher_SoftDelete]",
|
||||||
new { Ids = ids.ToGuidIdArrayTVP(), UserId = userId },
|
new { Ids = ids.ToGuidIdArrayTVP(), UserId = userId },
|
||||||
commandType: CommandType.StoredProcedure);
|
commandType: CommandType.StoredProcedure);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<DateTime> RestoreAsync(IEnumerable<Guid> ids, Guid userId, bool useFlexibleCollections)
|
public async Task<DateTime> RestoreAsync(IEnumerable<Guid> ids, Guid userId)
|
||||||
{
|
{
|
||||||
var sprocName = useFlexibleCollections
|
|
||||||
? $"[{Schema}].[Cipher_Restore_V2]"
|
|
||||||
: $"[{Schema}].[Cipher_Restore]";
|
|
||||||
|
|
||||||
using (var connection = new SqlConnection(ConnectionString))
|
using (var connection = new SqlConnection(ConnectionString))
|
||||||
{
|
{
|
||||||
var results = await connection.ExecuteScalarAsync<DateTime>(
|
var results = await connection.ExecuteScalarAsync<DateTime>(
|
||||||
sprocName,
|
$"[{Schema}].[Cipher_Restore]",
|
||||||
new { Ids = ids.ToGuidIdArrayTVP(), UserId = userId },
|
new { Ids = ids.ToGuidIdArrayTVP(), UserId = userId },
|
||||||
commandType: CommandType.StoredProcedure);
|
commandType: CommandType.StoredProcedure);
|
||||||
|
|
||||||
|
@ -200,9 +200,9 @@ public class CipherRepository : Repository<Core.Vault.Entities.Cipher, Cipher, G
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task DeleteAsync(IEnumerable<Guid> ids, Guid userId, bool useFlexibleCollections)
|
public async Task DeleteAsync(IEnumerable<Guid> ids, Guid userId)
|
||||||
{
|
{
|
||||||
await ToggleCipherStates(ids, userId, CipherStateAction.HardDelete, useFlexibleCollections);
|
await ToggleCipherStates(ids, userId, CipherStateAction.HardDelete);
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task DeleteAttachmentAsync(Guid cipherId, string attachmentId)
|
public async Task DeleteAttachmentAsync(Guid cipherId, string attachmentId)
|
||||||
@ -303,12 +303,12 @@ public class CipherRepository : Repository<Core.Vault.Entities.Cipher, Cipher, G
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<CipherDetails> GetByIdAsync(Guid id, Guid userId, bool useFlexibleCollections)
|
public async Task<CipherDetails> GetByIdAsync(Guid id, Guid userId)
|
||||||
{
|
{
|
||||||
using (var scope = ServiceScopeFactory.CreateScope())
|
using (var scope = ServiceScopeFactory.CreateScope())
|
||||||
{
|
{
|
||||||
var dbContext = GetDatabaseContext(scope);
|
var dbContext = GetDatabaseContext(scope);
|
||||||
var userCipherDetails = new UserCipherDetailsQuery(userId, useFlexibleCollections);
|
var userCipherDetails = new UserCipherDetailsQuery(userId, false);
|
||||||
var data = await userCipherDetails.Run(dbContext).FirstOrDefaultAsync(c => c.Id == id);
|
var data = await userCipherDetails.Run(dbContext).FirstOrDefaultAsync(c => c.Id == id);
|
||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
@ -407,13 +407,13 @@ public class CipherRepository : Repository<Core.Vault.Entities.Cipher, Cipher, G
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task MoveAsync(IEnumerable<Guid> ids, Guid? folderId, Guid userId, bool useFlexibleCollections)
|
public async Task MoveAsync(IEnumerable<Guid> ids, Guid? folderId, Guid userId)
|
||||||
{
|
{
|
||||||
using (var scope = ServiceScopeFactory.CreateScope())
|
using (var scope = ServiceScopeFactory.CreateScope())
|
||||||
{
|
{
|
||||||
var dbContext = GetDatabaseContext(scope);
|
var dbContext = GetDatabaseContext(scope);
|
||||||
var cipherEntities = dbContext.Ciphers.Where(c => ids.Contains(c.Id));
|
var cipherEntities = dbContext.Ciphers.Where(c => ids.Contains(c.Id));
|
||||||
var userCipherDetails = new UserCipherDetailsQuery(userId, useFlexibleCollections).Run(dbContext);
|
var userCipherDetails = new UserCipherDetailsQuery(userId, false).Run(dbContext);
|
||||||
var idsToMove = from ucd in userCipherDetails
|
var idsToMove = from ucd in userCipherDetails
|
||||||
join c in cipherEntities
|
join c in cipherEntities
|
||||||
on ucd.Id equals c.Id
|
on ucd.Id equals c.Id
|
||||||
@ -644,9 +644,9 @@ public class CipherRepository : Repository<Core.Vault.Entities.Cipher, Cipher, G
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<DateTime> RestoreAsync(IEnumerable<Guid> ids, Guid userId, bool useFlexibleCollections)
|
public async Task<DateTime> RestoreAsync(IEnumerable<Guid> ids, Guid userId)
|
||||||
{
|
{
|
||||||
return await ToggleCipherStates(ids, userId, CipherStateAction.Restore, useFlexibleCollections);
|
return await ToggleCipherStates(ids, userId, CipherStateAction.Restore);
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<DateTime> RestoreByIdsOrganizationIdAsync(IEnumerable<Guid> ids, Guid organizationId)
|
public async Task<DateTime> RestoreByIdsOrganizationIdAsync(IEnumerable<Guid> ids, Guid organizationId)
|
||||||
@ -674,12 +674,12 @@ public class CipherRepository : Repository<Core.Vault.Entities.Cipher, Cipher, G
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task SoftDeleteAsync(IEnumerable<Guid> ids, Guid userId, bool useFlexibleCollections)
|
public async Task SoftDeleteAsync(IEnumerable<Guid> ids, Guid userId)
|
||||||
{
|
{
|
||||||
await ToggleCipherStates(ids, userId, CipherStateAction.SoftDelete, useFlexibleCollections);
|
await ToggleCipherStates(ids, userId, CipherStateAction.SoftDelete);
|
||||||
}
|
}
|
||||||
|
|
||||||
private async Task<DateTime> ToggleCipherStates(IEnumerable<Guid> ids, Guid userId, CipherStateAction action, bool useFlexibleCollections)
|
private async Task<DateTime> ToggleCipherStates(IEnumerable<Guid> ids, Guid userId, CipherStateAction action)
|
||||||
{
|
{
|
||||||
static bool FilterDeletedDate(CipherStateAction action, CipherDetails ucd)
|
static bool FilterDeletedDate(CipherStateAction action, CipherDetails ucd)
|
||||||
{
|
{
|
||||||
@ -694,7 +694,7 @@ public class CipherRepository : Repository<Core.Vault.Entities.Cipher, Cipher, G
|
|||||||
using (var scope = ServiceScopeFactory.CreateScope())
|
using (var scope = ServiceScopeFactory.CreateScope())
|
||||||
{
|
{
|
||||||
var dbContext = GetDatabaseContext(scope);
|
var dbContext = GetDatabaseContext(scope);
|
||||||
var userCipherDetailsQuery = new UserCipherDetailsQuery(userId, useFlexibleCollections);
|
var userCipherDetailsQuery = new UserCipherDetailsQuery(userId, false);
|
||||||
var cipherEntitiesToCheck = await (dbContext.Ciphers.Where(c => ids.Contains(c.Id))).ToListAsync();
|
var cipherEntitiesToCheck = await (dbContext.Ciphers.Where(c => ids.Contains(c.Id))).ToListAsync();
|
||||||
var query = from ucd in await (userCipherDetailsQuery.Run(dbContext)).ToListAsync()
|
var query = from ucd in await (userCipherDetailsQuery.Run(dbContext)).ToListAsync()
|
||||||
join c in cipherEntitiesToCheck
|
join c in cipherEntitiesToCheck
|
||||||
|
@ -45,7 +45,7 @@ public class CiphersControllerTests
|
|||||||
};
|
};
|
||||||
|
|
||||||
sutProvider.GetDependency<ICipherRepository>()
|
sutProvider.GetDependency<ICipherRepository>()
|
||||||
.GetByIdAsync(cipherId, userId, Arg.Any<bool>())
|
.GetByIdAsync(cipherId, userId)
|
||||||
.Returns(Task.FromResult(cipherDetails));
|
.Returns(Task.FromResult(cipherDetails));
|
||||||
|
|
||||||
var result = await sutProvider.Sut.PutPartial(cipherId, new CipherPartialRequestModel { Favorite = isFavorite, FolderId = folderId.ToString() });
|
var result = await sutProvider.Sut.PutPartial(cipherId, new CipherPartialRequestModel { Favorite = isFavorite, FolderId = folderId.ToString() });
|
||||||
@ -60,7 +60,7 @@ public class CiphersControllerTests
|
|||||||
{
|
{
|
||||||
sutProvider.GetDependency<IUserService>().GetProperUserId(default).Returns(userId);
|
sutProvider.GetDependency<IUserService>().GetProperUserId(default).Returns(userId);
|
||||||
sutProvider.GetDependency<ICurrentContext>().OrganizationUser(Guid.NewGuid()).Returns(false);
|
sutProvider.GetDependency<ICurrentContext>().OrganizationUser(Guid.NewGuid()).Returns(false);
|
||||||
sutProvider.GetDependency<ICipherRepository>().GetByIdAsync(id, userId, true).ReturnsNull();
|
sutProvider.GetDependency<ICipherRepository>().GetByIdAsync(id, userId).ReturnsNull();
|
||||||
|
|
||||||
var requestAction = async () => await sutProvider.Sut.PutCollections_vNext(id, model);
|
var requestAction = async () => await sutProvider.Sut.PutCollections_vNext(id, model);
|
||||||
|
|
||||||
@ -72,7 +72,7 @@ public class CiphersControllerTests
|
|||||||
{
|
{
|
||||||
SetupUserAndOrgMocks(id, userId, sutProvider);
|
SetupUserAndOrgMocks(id, userId, sutProvider);
|
||||||
var cipherDetails = CreateCipherDetailsMock(id, userId);
|
var cipherDetails = CreateCipherDetailsMock(id, userId);
|
||||||
sutProvider.GetDependency<ICipherRepository>().GetByIdAsync(id, userId, true).ReturnsForAnyArgs(cipherDetails);
|
sutProvider.GetDependency<ICipherRepository>().GetByIdAsync(id, userId).ReturnsForAnyArgs(cipherDetails);
|
||||||
|
|
||||||
sutProvider.GetDependency<ICollectionCipherRepository>().GetManyByUserIdCipherIdAsync(userId, id, Arg.Any<bool>()).Returns((ICollection<CollectionCipher>)new List<CollectionCipher>());
|
sutProvider.GetDependency<ICollectionCipherRepository>().GetManyByUserIdCipherIdAsync(userId, id, Arg.Any<bool>()).Returns((ICollection<CollectionCipher>)new List<CollectionCipher>());
|
||||||
var cipherService = sutProvider.GetDependency<ICipherService>();
|
var cipherService = sutProvider.GetDependency<ICipherService>();
|
||||||
@ -87,7 +87,7 @@ public class CiphersControllerTests
|
|||||||
{
|
{
|
||||||
SetupUserAndOrgMocks(id, userId, sutProvider);
|
SetupUserAndOrgMocks(id, userId, sutProvider);
|
||||||
var cipherDetails = CreateCipherDetailsMock(id, userId);
|
var cipherDetails = CreateCipherDetailsMock(id, userId);
|
||||||
sutProvider.GetDependency<ICipherRepository>().GetByIdAsync(id, userId, true).ReturnsForAnyArgs(cipherDetails);
|
sutProvider.GetDependency<ICipherRepository>().GetByIdAsync(id, userId).ReturnsForAnyArgs(cipherDetails);
|
||||||
|
|
||||||
sutProvider.GetDependency<ICollectionCipherRepository>().GetManyByUserIdCipherIdAsync(userId, id, Arg.Any<bool>()).Returns((ICollection<CollectionCipher>)new List<CollectionCipher>());
|
sutProvider.GetDependency<ICollectionCipherRepository>().GetManyByUserIdCipherIdAsync(userId, id, Arg.Any<bool>()).Returns((ICollection<CollectionCipher>)new List<CollectionCipher>());
|
||||||
|
|
||||||
@ -102,7 +102,7 @@ public class CiphersControllerTests
|
|||||||
{
|
{
|
||||||
SetupUserAndOrgMocks(id, userId, sutProvider);
|
SetupUserAndOrgMocks(id, userId, sutProvider);
|
||||||
var cipherDetails = CreateCipherDetailsMock(id, userId);
|
var cipherDetails = CreateCipherDetailsMock(id, userId);
|
||||||
sutProvider.GetDependency<ICipherRepository>().GetByIdAsync(id, userId, true).ReturnsForAnyArgs(cipherDetails, [(CipherDetails)null]);
|
sutProvider.GetDependency<ICipherRepository>().GetByIdAsync(id, userId).ReturnsForAnyArgs(cipherDetails, [(CipherDetails)null]);
|
||||||
|
|
||||||
sutProvider.GetDependency<ICollectionCipherRepository>().GetManyByUserIdCipherIdAsync(userId, id, Arg.Any<bool>()).Returns((ICollection<CollectionCipher>)new List<CollectionCipher>());
|
sutProvider.GetDependency<ICollectionCipherRepository>().GetManyByUserIdCipherIdAsync(userId, id, Arg.Any<bool>()).Returns((ICollection<CollectionCipher>)new List<CollectionCipher>());
|
||||||
|
|
||||||
|
@ -735,7 +735,7 @@ public class CipherServiceTests
|
|||||||
|
|
||||||
sutProvider.GetDependency<ICipherRepository>().GetManyByUserIdAsync(restoringUserId, useFlexibleCollections: Arg.Any<bool>()).Returns(ciphers);
|
sutProvider.GetDependency<ICipherRepository>().GetManyByUserIdAsync(restoringUserId, useFlexibleCollections: Arg.Any<bool>()).Returns(ciphers);
|
||||||
var revisionDate = previousRevisionDate + TimeSpan.FromMinutes(1);
|
var revisionDate = previousRevisionDate + TimeSpan.FromMinutes(1);
|
||||||
sutProvider.GetDependency<ICipherRepository>().RestoreAsync(Arg.Any<IEnumerable<Guid>>(), restoringUserId, Arg.Any<bool>()).Returns(revisionDate);
|
sutProvider.GetDependency<ICipherRepository>().RestoreAsync(Arg.Any<IEnumerable<Guid>>(), restoringUserId).Returns(revisionDate);
|
||||||
|
|
||||||
await sutProvider.Sut.RestoreManyAsync(cipherIds, restoringUserId);
|
await sutProvider.Sut.RestoreManyAsync(cipherIds, restoringUserId);
|
||||||
|
|
||||||
@ -848,7 +848,7 @@ public class CipherServiceTests
|
|||||||
await sutProvider.GetDependency<ICipherRepository>().DidNotReceiveWithAnyArgs().RestoreByIdsOrganizationIdAsync(default, default);
|
await sutProvider.GetDependency<ICipherRepository>().DidNotReceiveWithAnyArgs().RestoreByIdsOrganizationIdAsync(default, default);
|
||||||
await sutProvider.GetDependency<ICipherRepository>().DidNotReceiveWithAnyArgs().RestoreByIdsOrganizationIdAsync(default, default);
|
await sutProvider.GetDependency<ICipherRepository>().DidNotReceiveWithAnyArgs().RestoreByIdsOrganizationIdAsync(default, default);
|
||||||
await sutProvider.GetDependency<ICipherRepository>().DidNotReceiveWithAnyArgs().GetManyByUserIdAsync(default, useFlexibleCollections: default);
|
await sutProvider.GetDependency<ICipherRepository>().DidNotReceiveWithAnyArgs().GetManyByUserIdAsync(default, useFlexibleCollections: default);
|
||||||
await sutProvider.GetDependency<ICipherRepository>().DidNotReceiveWithAnyArgs().RestoreAsync(default, default, default);
|
await sutProvider.GetDependency<ICipherRepository>().DidNotReceiveWithAnyArgs().RestoreAsync(default, default);
|
||||||
await sutProvider.GetDependency<IEventService>().DidNotReceiveWithAnyArgs().LogCipherEventsAsync(default);
|
await sutProvider.GetDependency<IEventService>().DidNotReceiveWithAnyArgs().LogCipherEventsAsync(default);
|
||||||
await sutProvider.GetDependency<IPushNotificationService>().DidNotReceiveWithAnyArgs().PushSyncCiphersAsync(default);
|
await sutProvider.GetDependency<IPushNotificationService>().DidNotReceiveWithAnyArgs().PushSyncCiphersAsync(default);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user