Browse Source

Fix archiveDate update (#7722)

When `archiveDate` is set to `null` it should unarchive it for that
specific user, which is what Bitwarden does.

This should fix this by checking and validating if it is `null`

Fixes #7581

Signed-off-by: BlackDex <black.dex@gmail.com>
main 1.37.3
Mathijs van Veluw 4 days ago
committed by GitHub
parent
commit
eb212e23fa
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 7
      src/api/core/ciphers.rs

7
src/api/core/ciphers.rs

@ -537,11 +537,12 @@ pub async fn update_cipher_from_data(
cipher.move_to_folder(data.folder_id, &headers.user.uuid, conn).await?;
cipher.set_favorite(data.favorite, &headers.user.uuid, conn).await?;
if let Some(dt_str) = data.archived_date {
match NaiveDateTime::parse_from_str(&dt_str, "%+") {
match data.archived_date {
Some(dt_str) => match NaiveDateTime::parse_from_str(&dt_str, "%+") {
Ok(dt) => cipher.set_archived_at(dt, &headers.user.uuid, conn).await?,
Err(err) => warn!("Error parsing ArchivedDate '{dt_str}': {err}"),
}
},
None => cipher.unarchive(&headers.user.uuid, conn).await?,
}
if ut != UpdateType::None {

Loading…
Cancel
Save