commit 3f5a99916a3d8487df00e196e19627b25616e930
parent b5a057f063431210d6640786fef097589e9fb049
Author: Miroslav Prasil <miroslav@prasil.info>
Date: Mon, 13 Aug 2018 10:58:39 +0100
Implement update_revision trigger
Diffstat:
2 files changed, 15 insertions(+), 1 deletion(-)
diff --git a/src/api/core/ciphers.rs b/src/api/core/ciphers.rs
@@ -242,7 +242,11 @@ fn post_ciphers_import(data: JsonUpcase<ImportData>, headers: Headers, conn: DbC
cipher.move_to_folder(folder_uuid, &headers.user.uuid.clone(), &conn).ok();
}
- Ok(())
+ let mut user = headers.user;
+ match user.update_revision(&conn) {
+ Ok(()) => Ok(()),
+ Err(_) => err!("Failed to update the revision, please log out and log back in to finish import.")
+ }
}
#[post("/ciphers/<uuid>/admin", data = "<data>")]
diff --git a/src/db/models/user.rs b/src/db/models/user.rs
@@ -154,6 +154,16 @@ impl User {
}
}
+ pub fn update_revision(&mut self, conn: &DbConn) -> QueryResult<()> {
+ diesel::update(
+ users::table.filter(
+ users::uuid.eq(&self.uuid)
+ )
+ )
+ .set(users::updated_at.eq(Utc::now().naive_utc()))
+ .execute(&**conn).and(Ok(()))
+ }
+
pub fn find_by_mail(mail: &str, conn: &DbConn) -> Option<Self> {
let lower_mail = mail.to_lowercase();
users::table