From a955c4937383e16eaa6940b9bb2df47de2c13506 Mon Sep 17 00:00:00 2001 From: Maximilian Friedersdorff Date: Mon, 5 Jan 2026 21:13:00 +0000 Subject: [PATCH] Fix delete behaviour --- internal/notes/notes.go | 7 ++++--- internal/notes/views/views.go | 14 +++++++++++--- 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/internal/notes/notes.go b/internal/notes/notes.go index f0ef11b..0050e8d 100644 --- a/internal/notes/notes.go +++ b/internal/notes/notes.go @@ -136,8 +136,9 @@ func (ns *NoteStore) Add(note *Note, user string) { ns.notes[user][note] = true } -func (ns *NoteStore) Del(note *Note, user string) { +func (ns *NoteStore) Del(note *Note, user string) error { delete(ns.notes[user], note) + return note.Delete() } func (ns *NoteStore) UserTags(user string) []string { @@ -340,8 +341,8 @@ func (n *Note) DelViewer(viewer string) { delete(n.Viewers, viewer) } -func DeleteNote(uid string) error { - filename := filepath.Join(conf.Conf.NotesDir, fmtPath(uid)) +func (n *Note) Delete() error { + filename := filepath.Join(conf.Conf.NotesDir, fmtPath(n.Uid)) return os.Remove(filename) } diff --git a/internal/notes/views/views.go b/internal/notes/views/views.go index 8684499..0a041d0 100644 --- a/internal/notes/views/views.go +++ b/internal/notes/views/views.go @@ -107,10 +107,18 @@ func new(w http.ResponseWriter, r *http.Request) { } func delete(w http.ResponseWriter, r *http.Request) { - // user := r.Context().Value(middleware.ContextKey("user")).(string) + user := r.Context().Value(middleware.ContextKey("user")).(string) + + uid := r.PathValue("note") + + note, ok := notes.Notes.GetOne(user, uid) + + if !ok { + http.NotFound(w, r) + } + + err := notes.Notes.Del(note, user) - encodedTitle := r.PathValue("note") - err := notes.DeleteNote(encodedTitle) if err != nil { log.Print(err.Error()) http.Error(w, "Couldn't delete note", http.StatusInternalServerError)