callback(SaveNoteResult::ValidationError("collection_id not set"));
return;
};
- let Set(nn) = ¬e.nodename else {
- callback(SaveNoteResult::ValidationError("nodename not set"));
- return;
- };
- let mut nodename = nn.clone();
let Set(version) = note.version else {
callback(SaveNoteResult::ValidationError("version not set"));
return;
};
+ let Set(title) = ¬e.title else {
+ callback(SaveNoteResult::ValidationError("title not set"));
+ return;
+ };
+
+ let mut nodename = if let Set(nn) = ¬e.nodename {
+ nn.clone()
+ } else {
+ // generate nodename from title
+ title.clone()
+ };
let bhandle = self.clone();
let cmd = Box::pin(async move {
pub notebook_instance_id: u64,
pub id: NoteId,
+ pub nodename: Option<String>,
pub lock: Option<NoteLock>,
pub collection_id: i32,
collection_id,
id,
+ nodename: None,
lock: None,
content_id: 0,
version: 0,
pub fn init_from_model(&mut self, model: &entity::note::Model) {
self.id = NoteId::Id(model.note_id);
+ self.nodename = Some(model.nodename.clone());
self.version = model.version;
let tab = match model.kind {
let note = entity::note::ActiveModel {
note_id: note_id.clone(),
collection_id: Set(self.collection_id),
- nodename: Set(title.clone()), // TODO: create unique nodename
+ nodename: if let Some(nodename) = &self.nodename { Set(nodename.clone())} else { NotSet },
kind: Set(self.kind.clone()),
title: Set(title),
lastmodified: Set(Utc::now().into()),