MCPcopy Index your code
hub / github.com/ZenNotes/zennotes / writeNoteCommentsLocked

Method writeNoteCommentsLocked

apps/server/internal/vault/vault.go:1282–1309  ·  view source on GitHub ↗
(rel string, comments []NoteComment)

Source from the content-addressed store, hash-verified

1280}
1281
1282func (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
1311func (v *Vault) WriteNoteComments(rel string, comments []NoteComment) ([]NoteComment, error) {
1312 v.mu.Lock()

Callers 3

WriteNoteCommentsMethod · 0.95

Calls 2

commentsPathMethod · 0.95
normalizeCommentsFunction · 0.85

Tested by

no test coverage detected