1
0
mirror of https://github.com/bitwarden/server.git synced 2025-04-09 23:28:12 -05:00

return proper subvault ids for cipher details

This commit is contained in:
Kyle Spearrin 2017-03-24 09:42:06 -04:00
parent 10c72fafda
commit 84c5873cfd
2 changed files with 14 additions and 3 deletions

View File

@ -58,8 +58,11 @@ namespace Bit.Api.Controllers
{
var userId = _userService.GetProperUserId(User).Value;
var ciphers = await _cipherRepository.GetManyByUserIdHasSubvaultsAsync(userId);
var subvaultCiphers = await _subvaultCipherRepository.GetManyByUserIdAsync(userId);
var responses = ciphers.Select(c => new CipherDetailsResponseModel(c, subvaultCiphers));
var subvaultCiphersGroupDict = subvaultCiphers.GroupBy(s => s.CipherId).ToDictionary(s => s.Key);
var responses = ciphers.Select(c => new CipherDetailsResponseModel(c, subvaultCiphersGroupDict));
return new ListResponseModel<CipherDetailsResponseModel>(responses);
}

View File

@ -44,10 +44,18 @@ namespace Bit.Core.Models.Api
public class CipherDetailsResponseModel : CipherResponseModel
{
public CipherDetailsResponseModel(CipherDetails cipher, IEnumerable<SubvaultCipher> subvaultCipher)
public CipherDetailsResponseModel(CipherDetails cipher,
IDictionary<Guid, IGrouping<Guid, SubvaultCipher>> subvaultCiphers)
: base(cipher, "cipherDetails")
{
SubvaultIds = subvaultCipher.Select(s => s.SubvaultId);
if(subvaultCiphers.ContainsKey(cipher.Id))
{
SubvaultIds = subvaultCiphers[cipher.Id].Select(s => s.SubvaultId);
}
else
{
SubvaultIds = new Guid[] { };
}
}
public IEnumerable<Guid> SubvaultIds { get; set; }