mirror of
https://github.com/bitwarden/server.git
synced 2025-04-19 03:58:13 -05:00
return proper subvault ids for cipher details
This commit is contained in:
parent
10c72fafda
commit
84c5873cfd
@ -58,8 +58,11 @@ namespace Bit.Api.Controllers
|
|||||||
{
|
{
|
||||||
var userId = _userService.GetProperUserId(User).Value;
|
var userId = _userService.GetProperUserId(User).Value;
|
||||||
var ciphers = await _cipherRepository.GetManyByUserIdHasSubvaultsAsync(userId);
|
var ciphers = await _cipherRepository.GetManyByUserIdHasSubvaultsAsync(userId);
|
||||||
|
|
||||||
var subvaultCiphers = await _subvaultCipherRepository.GetManyByUserIdAsync(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);
|
return new ListResponseModel<CipherDetailsResponseModel>(responses);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -44,10 +44,18 @@ namespace Bit.Core.Models.Api
|
|||||||
|
|
||||||
public class CipherDetailsResponseModel : CipherResponseModel
|
public class CipherDetailsResponseModel : CipherResponseModel
|
||||||
{
|
{
|
||||||
public CipherDetailsResponseModel(CipherDetails cipher, IEnumerable<SubvaultCipher> subvaultCipher)
|
public CipherDetailsResponseModel(CipherDetails cipher,
|
||||||
|
IDictionary<Guid, IGrouping<Guid, SubvaultCipher>> subvaultCiphers)
|
||||||
: base(cipher, "cipherDetails")
|
: 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; }
|
public IEnumerable<Guid> SubvaultIds { get; set; }
|
||||||
|
Loading…
x
Reference in New Issue
Block a user