From 08ca47cadb05ac14c5e9d1cf568a2c407059190a Mon Sep 17 00:00:00 2001 From: Miroslav Prasil Date: Wed, 6 Feb 2019 14:47:47 +0000 Subject: [PATCH] Update revision when adding or removing cipher from collection --- src/db/models/collection.rs | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/db/models/collection.rs b/src/db/models/collection.rs index 905ca41..5261bec 100644 --- a/src/db/models/collection.rs +++ b/src/db/models/collection.rs @@ -278,6 +278,7 @@ pub struct CollectionCipher { /// Database methods impl CollectionCipher { pub fn save(cipher_uuid: &str, collection_uuid: &str, conn: &DbConn) -> EmptyResult { + Self::update_users_revision(&collection_uuid, conn); diesel::replace_into(ciphers_collections::table) .values(( ciphers_collections::cipher_uuid.eq(cipher_uuid), @@ -288,6 +289,7 @@ impl CollectionCipher { } pub fn delete(cipher_uuid: &str, collection_uuid: &str, conn: &DbConn) -> EmptyResult { + Self::update_users_revision(&collection_uuid, conn); diesel::delete( ciphers_collections::table .filter(ciphers_collections::cipher_uuid.eq(cipher_uuid)) @@ -308,4 +310,10 @@ impl CollectionCipher { .execute(&**conn) .map_res("Error removing ciphers from collection") } + + pub fn update_users_revision(collection_uuid: &str, conn: &DbConn) { + if let Some(collection) = Collection::find_by_uuid(collection_uuid, conn) { + collection.update_users_revision(conn); + } + } }