]> uap-core.de Git - note.git/commitdiff
make rename_note nodename/title args optional
authorOlaf Wintermann <olaf.wintermann@gmail.com>
Sat, 1 Aug 2026 09:53:13 +0000 (11:53 +0200)
committerOlaf Wintermann <olaf.wintermann@gmail.com>
Sat, 1 Aug 2026 09:53:13 +0000 (11:53 +0200)
application/backend/src/backend.rs
application/note/src/file.rs

index f1344ea1fc683c525e40fed7abcb880e2d37a09e..3e1c912200ea5b4ab16d8ac7a3771e66fcd55062 100644 (file)
@@ -679,7 +679,7 @@ impl BackendHandle {
         let _ = self.tx.send(cmd);
     }
 
-    pub fn rename_note<F>(&self, note_id: i32, nodename: String, title: String, callback: F)
+    pub fn rename_note<F>(&self, note_id: i32, nodename: Option<String>, title: Option<String>, callback: F)
     where F: FnOnce(Result<UpdateResult, DbErr>) + Send + 'static {
         let bhandle = self.clone();
         let cmd = Box::pin(async move {
@@ -691,14 +691,20 @@ impl BackendHandle {
                     return;
                 }
             };
+            
+            let mut update = Note::update_many();
+            if let Some(nodename ) = &nodename {
+                update = update.col_expr(Column::Nodename, Expr::value(nodename.clone()));
+            }
+            if let Some(title ) = &title {
+                update = update.col_expr(Column::Title, Expr::value(title));
+            }
+            
+            let result = update
+                    .filter(Column::NoteId.eq(note_id))
+                    .exec(&bhandle.backend.db).await;
 
-            let result = Note::update_many()
-                .col_expr(Column::Nodename, Expr::value(nodename.clone()))
-                .col_expr(Column::Title, Expr::value(title.clone()))
-                .filter(Column::NoteId.eq(note_id))
-                .exec(&bhandle.backend.db).await;
-
-            if let Some(path_str) = local_path {
+            if let Some(nodename) = nodename && let Some(path_str) = local_path {
                 let path = Path::new(&path_str);
                 let parent = path.parent();
                 if let Some(parent) = parent {
index 559efcefffa4c4d2ff8843524e83061cdc42396f..e64a3f003cf83eb049b7c1bbb37c34ad80a3a7e2 100644 (file)
@@ -233,7 +233,7 @@ impl NoteViewModel for FileNote {
         mem::swap(&mut self.nodename, &mut nodename);
 
         let proxy = doc.doc_proxy();
-        self.backend.rename_note(note_id, self.nodename.clone(), new_title, |result|{
+        self.backend.rename_note(note_id, Some(self.nodename.clone()), Some(new_title), |result|{
             proxy.call_mainthread(move |_doc, note|{
                 match result {
                     Ok(updated) => {