| 1153 | } |
| 1154 | |
| 1155 | func (v *Vault) WriteNote(rel, body string) (NoteMeta, error) { |
| 1156 | v.mu.Lock() |
| 1157 | defer v.mu.Unlock() |
| 1158 | abs, err := SafeJoin(v.root, rel) |
| 1159 | if err != nil { |
| 1160 | return NoteMeta{}, err |
| 1161 | } |
| 1162 | if err := os.MkdirAll(filepath.Dir(abs), v.dirMode); err != nil { |
| 1163 | return NoteMeta{}, err |
| 1164 | } |
| 1165 | if err := os.WriteFile(abs, []byte(body), v.fileMode); err != nil { |
| 1166 | return NoteMeta{}, err |
| 1167 | } |
| 1168 | v.invalidateTextSearchCache() |
| 1169 | folder, _ := v.folderOf(abs) |
| 1170 | return v.readMeta(folder, abs) |
| 1171 | } |
| 1172 | |
| 1173 | func newCommentID() string { |
| 1174 | var b [16]byte |