(rel string, comments []NoteComment)
| 1280 | } |
| 1281 | |
| 1282 | func (v *Vault) writeNoteCommentsLocked(rel string, comments []NoteComment) ([]NoteComment, error) { |
| 1283 | notePath := filepath.ToSlash(rel) |
| 1284 | normalized := normalizeComments(comments, notePath) |
| 1285 | abs, err := v.commentsPath(notePath) |
| 1286 | if err != nil { |
| 1287 | return nil, err |
| 1288 | } |
| 1289 | if len(normalized) == 0 { |
| 1290 | if err := os.Remove(abs); err != nil && !errors.Is(err, os.ErrNotExist) { |
| 1291 | return nil, err |
| 1292 | } |
| 1293 | return []NoteComment{}, nil |
| 1294 | } |
| 1295 | if err := os.MkdirAll(filepath.Dir(abs), v.dirMode); err != nil { |
| 1296 | return nil, err |
| 1297 | } |
| 1298 | data, err := json.MarshalIndent(struct { |
| 1299 | Version int `json:"version"` |
| 1300 | Comments []NoteComment `json:"comments"` |
| 1301 | }{Version: 1, Comments: normalized}, "", " ") |
| 1302 | if err != nil { |
| 1303 | return nil, err |
| 1304 | } |
| 1305 | if err := os.WriteFile(abs, data, v.fileMode); err != nil { |
| 1306 | return nil, err |
| 1307 | } |
| 1308 | return normalized, nil |
| 1309 | } |
| 1310 | |
| 1311 | func (v *Vault) WriteNoteComments(rel string, comments []NoteComment) ([]NoteComment, error) { |
| 1312 | v.mu.Lock() |
no test coverage detected