From 843b840583b22c77a485eefe1134f46bed2b20a0 Mon Sep 17 00:00:00 2001 From: Kristian Borgwarth <10348902@pm.me> Date: Sun, 22 Mar 2026 23:00:21 +0100 Subject: [PATCH] feat(create_note): setup note --- core/handlers/create_note.go | 26 +++++++++++++++++++++ persistence/repositories/doc.go | 3 --- persistence/repositories/note_repository.go | 12 ++++++++++ 3 files changed, 38 insertions(+), 3 deletions(-) create mode 100644 core/handlers/create_note.go create mode 100644 persistence/repositories/note_repository.go diff --git a/core/handlers/create_note.go b/core/handlers/create_note.go new file mode 100644 index 0000000..3cf25b6 --- /dev/null +++ b/core/handlers/create_note.go @@ -0,0 +1,26 @@ +package handlers + +import ( + "encoding/json" + + "github.com/KristianJBorgwarth/dendrite.daemon/core/rpc" +) + +type createNoteCommand struct { + Title string `json:"title"` + TemplatePath string `json:"templatePath"` + Path string `json:"path"` + Vars map[string]string `json:"vars"` +} + +type CreateNoteHandler struct{ + repository NoteRepository +} + +func (h CreateNoteHandler) Handle(params []byte) (any, *rpc.Error) { + var cmd createNoteCommand + if err := json.Unmarshal(params, &cmd); err != nil { + return nil, &rpc.Error{Code: -32602, Message: "invalid params"} + } + +} diff --git a/persistence/repositories/doc.go b/persistence/repositories/doc.go index 0660717..aa98412 100644 --- a/persistence/repositories/doc.go +++ b/persistence/repositories/doc.go @@ -1,6 +1,3 @@ // Package repositories provides an interface for accessing dendrite index and configuration package repositories - - - diff --git a/persistence/repositories/note_repository.go b/persistence/repositories/note_repository.go new file mode 100644 index 0000000..36cc6a7 --- /dev/null +++ b/persistence/repositories/note_repository.go @@ -0,0 +1,12 @@ +package repositories + +import "database/sql" + +type NoteRepository interface { + CreateNote(title string, path string, slug string) error +} + +type noteRepository struct { + db *sql.DB +} +