diff --git a/lib/store.js b/lib/store.js index 661b4b2..df0d4cb 100644 --- a/lib/store.js +++ b/lib/store.js @@ -45,4 +45,11 @@ function search(term) { return matches(load().notes, term); } -module.exports = { all, add, remove, search, matches }; +function edit(id, text) { + const data = load(); + const note = data.notes.find((n) => n.id === id); + note.text = text; + save(data); +} + +module.exports = { all, add, remove, search, matches, edit }; diff --git a/notes.js b/notes.js index df64a18..3b6ecf8 100644 --- a/notes.js +++ b/notes.js @@ -39,6 +39,13 @@ function main() { } break; } + case "edit": { + const id = Number(rest[0]); + const text = rest.slice(1).join(" ").trim(); + store.edit(id, text); + console.log(`Updated note #${id}`); + break; + } case "delete": { const id = Number(rest[0]); const ok = store.remove(id); @@ -46,7 +53,7 @@ function main() { break; } default: - console.log("Commands: add | list | search | delete "); + console.log("Commands: add | list | search | edit | delete "); console.log(`(Session locks after ${config.SESSION_TIMEOUT_MINUTES} minutes of inactivity.)`); } }