mirror of
https://github.com/dani-garcia/vaultwarden.git
synced 2025-05-24 04:23:58 +00:00
Fix for issue #2566
This PR fixes #2566 If Organizational syncs returned a FolderId it would cause the web-vault to hide the cipher because there is a FolderId set. Upstream seems to not return FolderId and Favorite. When set to null/false it will behave the same. In this PR I have added a new CipherSyncType enum to select which type of sync to execute, and return an empty list for both Folders and Favorites if this is for Orgs. This also reduces the database load a bit since it will not execute those queries.
This commit is contained in:
parent
887e320e7f
commit
b71d9dd53e
4 changed files with 35 additions and 17 deletions
|
@ -5,8 +5,8 @@ use serde_json::Value;
|
|||
|
||||
use crate::{
|
||||
api::{
|
||||
core::CipherSyncData, EmptyResult, JsonResult, JsonUpcase, JsonUpcaseVec, Notify, NumberOrString, PasswordData,
|
||||
UpdateType,
|
||||
core::{CipherSyncData, CipherSyncType},
|
||||
EmptyResult, JsonResult, JsonUpcase, JsonUpcaseVec, Notify, NumberOrString, PasswordData, UpdateType,
|
||||
},
|
||||
auth::{decode_invite, AdminHeaders, Headers, ManagerHeaders, ManagerHeadersLoose, OwnerHeaders},
|
||||
db::{models::*, DbConn},
|
||||
|
@ -487,7 +487,7 @@ struct OrgIdData {
|
|||
#[get("/ciphers/organization-details?<data..>")]
|
||||
async fn get_org_details(data: OrgIdData, headers: Headers, conn: DbConn) -> Json<Value> {
|
||||
let ciphers = Cipher::find_by_org(&data.organization_id, &conn).await;
|
||||
let cipher_sync_data = CipherSyncData::new(&headers.user.uuid, &ciphers, &conn).await;
|
||||
let cipher_sync_data = CipherSyncData::new(&headers.user.uuid, &ciphers, CipherSyncType::Organization, &conn).await;
|
||||
|
||||
let ciphers_json = stream::iter(ciphers)
|
||||
.then(|c| async {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue