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

Method CreateNote

apps/server/internal/vault/vault.go:1399–1429  ·  view source on GitHub ↗

--- Create / Rename / Delete ---

(folder NoteFolder, title, subpath string)

Source from the content-addressed store, hash-verified

1397// --- Create / Rename / Delete ---
1398
1399func (v *Vault) CreateNote(folder NoteFolder, title, subpath string) (NoteMeta, error) {
1400 v.mu.Lock()
1401 defer v.mu.Unlock()
1402 if !IsValidFolder(folder) {
1403 return NoteMeta{}, fmt.Errorf("invalid folder: %s", folder)
1404 }
1405 if title == "" {
1406 title = defaultTitle()
1407 }
1408 title = sanitizeFileStem(title)
1409 dir, err := v.folderRoot(folder)
1410 if err != nil {
1411 return NoteMeta{}, err
1412 }
1413 if subpath != "" {
1414 sub, err := SafeJoin(dir, subpath)
1415 if err != nil {
1416 return NoteMeta{}, err
1417 }
1418 dir = sub
1419 }
1420 if err := os.MkdirAll(dir, v.dirMode); err != nil {
1421 return NoteMeta{}, err
1422 }
1423 abs := uniquePath(dir, title, ".md")
1424 if err := os.WriteFile(abs, []byte(""), v.fileMode); err != nil {
1425 return NoteMeta{}, err
1426 }
1427 v.invalidateTextSearchCache()
1428 return v.readMeta(folder, abs)
1429}
1430
1431// CreateExcalidraw writes a new empty `.excalidraw` drawing under folder/subpath
1432// and returns its meta. Mirrors CreateNote but seeds an empty Excalidraw scene.

Callers 1

createNoteMethod · 0.80

Calls 8

folderRootMethod · 0.95
readMetaMethod · 0.95
IsValidFolderFunction · 0.85
defaultTitleFunction · 0.85
sanitizeFileStemFunction · 0.85
SafeJoinFunction · 0.85
uniquePathFunction · 0.85

Tested by

no test coverage detected