From: Olaf Wintermann Date: Sat, 1 Aug 2026 09:53:13 +0000 (+0200) Subject: make rename_note nodename/title args optional X-Git-Url: https://uap-core.de/gitweb/?a=commitdiff_plain;h=3040dc460a5b0a81a70a7f789e7859a8a3b81deb;p=note.git make rename_note nodename/title args optional --- diff --git a/application/backend/src/backend.rs b/application/backend/src/backend.rs index f1344ea..3e1c912 100644 --- a/application/backend/src/backend.rs +++ b/application/backend/src/backend.rs @@ -679,7 +679,7 @@ impl BackendHandle { let _ = self.tx.send(cmd); } - pub fn rename_note(&self, note_id: i32, nodename: String, title: String, callback: F) + pub fn rename_note(&self, note_id: i32, nodename: Option, title: Option, callback: F) where F: FnOnce(Result) + 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 { diff --git a/application/note/src/file.rs b/application/note/src/file.rs index 559efce..e64a3f0 100644 --- a/application/note/src/file.rs +++ b/application/note/src/file.rs @@ -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) => {