Send CipherUpdate when adding and deleting attachments

This commit is contained in:
Daniel García 2019-01-11 01:08:35 +01:00
parent 1d034749f7
commit 1d7f704754
No known key found for this signature in database
GPG Key ID: FC8A7D14C3CD543A

View File

@ -632,7 +632,7 @@ fn share_cipher_by_uuid(
} }
#[post("/ciphers/<uuid>/attachment", format = "multipart/form-data", data = "<data>")] #[post("/ciphers/<uuid>/attachment", format = "multipart/form-data", data = "<data>")]
fn post_attachment(uuid: String, data: Data, content_type: &ContentType, headers: Headers, conn: DbConn) -> JsonResult { fn post_attachment(uuid: String, data: Data, content_type: &ContentType, headers: Headers, conn: DbConn, nt: Notify) -> JsonResult {
let cipher = match Cipher::find_by_uuid(&uuid, &conn) { let cipher = match Cipher::find_by_uuid(&uuid, &conn) {
Some(cipher) => cipher, Some(cipher) => cipher,
None => err!("Cipher doesn't exist"), None => err!("Cipher doesn't exist"),
@ -692,6 +692,8 @@ fn post_attachment(uuid: String, data: Data, content_type: &ContentType, headers
}) })
.expect("Error processing multipart data"); .expect("Error processing multipart data");
nt.send_cipher_update(UpdateType::CipherUpdate, &cipher, &cipher.update_users_revision(&conn));
Ok(Json(cipher.to_json(&headers.host, &headers.user.uuid, &conn))) Ok(Json(cipher.to_json(&headers.host, &headers.user.uuid, &conn)))
} }
@ -702,8 +704,9 @@ fn post_attachment_admin(
content_type: &ContentType, content_type: &ContentType,
headers: Headers, headers: Headers,
conn: DbConn, conn: DbConn,
nt: Notify,
) -> JsonResult { ) -> JsonResult {
post_attachment(uuid, data, content_type, headers, conn) post_attachment(uuid, data, content_type, headers, conn, nt)
} }
#[post( #[post(
@ -721,7 +724,7 @@ fn post_attachment_share(
nt: Notify, nt: Notify,
) -> JsonResult { ) -> JsonResult {
_delete_cipher_attachment_by_id(&uuid, &attachment_id, &headers, &conn, &nt)?; _delete_cipher_attachment_by_id(&uuid, &attachment_id, &headers, &conn, &nt)?;
post_attachment(uuid, data, content_type, headers, conn) post_attachment(uuid, data, content_type, headers, conn, nt)
} }
#[post("/ciphers/<uuid>/attachment/<attachment_id>/delete-admin")] #[post("/ciphers/<uuid>/attachment/<attachment_id>/delete-admin")]
@ -929,6 +932,6 @@ fn _delete_cipher_attachment_by_id(
// Delete attachment // Delete attachment
attachment.delete(&conn)?; attachment.delete(&conn)?;
nt.send_cipher_update(UpdateType::CipherDelete, &cipher, &cipher.update_users_revision(&conn)); nt.send_cipher_update(UpdateType::CipherUpdate, &cipher, &cipher.update_users_revision(&conn));
Ok(()) Ok(())
} }