Browse Source
Merge pull request #385 from mprasil/update_revision_retry
Retry updating revision - fixes #383
pull/386/head
Daniel García
6 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with
8 additions and
7 deletions
-
src/api/core/ciphers.rs
-
src/db/models/user.rs
|
|
@ -842,7 +842,7 @@ fn move_cipher_selected(data: JsonUpcase<MoveCipherData>, headers: Headers, conn |
|
|
|
} |
|
|
|
|
|
|
|
for uuid in data.Ids { |
|
|
|
let mut cipher = match Cipher::find_by_uuid(&uuid, &conn) { |
|
|
|
let cipher = match Cipher::find_by_uuid(&uuid, &conn) { |
|
|
|
Some(cipher) => cipher, |
|
|
|
None => err!("Cipher doesn't exist"), |
|
|
|
}; |
|
|
@ -853,12 +853,11 @@ fn move_cipher_selected(data: JsonUpcase<MoveCipherData>, headers: Headers, conn |
|
|
|
|
|
|
|
// Move cipher
|
|
|
|
cipher.move_to_folder(data.FolderId.clone(), &user_uuid, &conn)?; |
|
|
|
cipher.save(&conn)?; |
|
|
|
|
|
|
|
nt.send_cipher_update( |
|
|
|
UpdateType::CipherUpdate, |
|
|
|
&cipher, |
|
|
|
&User::update_uuid_revision(&user_uuid, &conn), |
|
|
|
&[user_uuid.clone()] |
|
|
|
); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
@ -184,10 +184,12 @@ impl User { |
|
|
|
|
|
|
|
pub fn update_revision(&mut self, conn: &DbConn) -> EmptyResult { |
|
|
|
self.updated_at = Utc::now().naive_utc(); |
|
|
|
diesel::update(users::table.filter(users::uuid.eq(&self.uuid))) |
|
|
|
.set(users::updated_at.eq(&self.updated_at)) |
|
|
|
.execute(&**conn) |
|
|
|
.map_res("Error updating user revision") |
|
|
|
crate::util::retry( || { |
|
|
|
diesel::update(users::table.filter(users::uuid.eq(&self.uuid))) |
|
|
|
.set(users::updated_at.eq(&self.updated_at)) |
|
|
|
.execute(&**conn) |
|
|
|
}, 10) |
|
|
|
.map_res("Error updating user revision") |
|
|
|
} |
|
|
|
|
|
|
|
pub fn find_by_mail(mail: &str, conn: &DbConn) -> Option<Self> { |
|
|
|