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

Method renameNoteFile

apps/server/internal/vault/vault.go:1481–1507  ·  view source on GitHub ↗
(rel, nextTitle string)

Source from the content-addressed store, hash-verified

1479}
1480
1481func (v *Vault) renameNoteFile(rel, nextTitle string) (NoteMeta, error) {
1482 v.mu.Lock()
1483 defer v.mu.Unlock()
1484 abs, err := SafeJoin(v.root, rel)
1485 if err != nil {
1486 return NoteMeta{}, err
1487 }
1488 nextTitle = sanitizeFileStem(nextTitle)
1489 if nextTitle == "" {
1490 return NoteMeta{}, errors.New("empty title")
1491 }
1492 dir := filepath.Dir(abs)
1493 newAbs := uniquePath(dir, nextTitle, noteExt(abs))
1494 if err := os.Rename(abs, newAbs); err != nil {
1495 return NoteMeta{}, err
1496 }
1497 v.invalidateTextSearchCache()
1498 folder, _ := v.folderOf(newAbs)
1499 meta, err := v.readMeta(folder, newAbs)
1500 if err != nil {
1501 return NoteMeta{}, err
1502 }
1503 if err := v.moveNoteCommentsLocked(rel, meta.Path); err != nil {
1504 return NoteMeta{}, err
1505 }
1506 return meta, nil
1507}
1508
1509// rewriteInboundWikilinks rewrites every note that linked to the renamed note's
1510// old name so it points to the new title. Only notes that actually link to it

Callers 1

RenameNoteMethod · 0.95

Calls 8

folderOfMethod · 0.95
readMetaMethod · 0.95
SafeJoinFunction · 0.85
sanitizeFileStemFunction · 0.85
uniquePathFunction · 0.85
noteExtFunction · 0.85

Tested by

no test coverage detected