diff --git a/core/handlers/create_note.go b/core/handlers/create_note.go index 3cf25b6..26fb406 100644 --- a/core/handlers/create_note.go +++ b/core/handlers/create_note.go @@ -4,6 +4,7 @@ import ( "encoding/json" "github.com/KristianJBorgwarth/dendrite.daemon/core/rpc" + "github.com/KristianJBorgwarth/dendrite.daemon/persistence/repositories" ) type createNoteCommand struct { @@ -14,7 +15,7 @@ type createNoteCommand struct { } type CreateNoteHandler struct{ - repository NoteRepository + repository repositories.NoteRepository } func (h CreateNoteHandler) Handle(params []byte) (any, *rpc.Error) { @@ -23,4 +24,11 @@ func (h CreateNoteHandler) Handle(params []byte) (any, *rpc.Error) { return nil, &rpc.Error{Code: -32602, Message: "invalid params"} } + err := h.repository.Upsert(cmd.Title, cmd.TemplatePath, cmd.Path) + + if err != nil { + return nil, &rpc.Error{Code: -1, Message: err.Error()} + } + + return map[string]any{"status": "ok"}, nil } diff --git a/persistence/repositories/note_repository.go b/persistence/repositories/note_repository.go index 36cc6a7..b90bda5 100644 --- a/persistence/repositories/note_repository.go +++ b/persistence/repositories/note_repository.go @@ -3,7 +3,7 @@ package repositories import "database/sql" type NoteRepository interface { - CreateNote(title string, path string, slug string) error + Upsert(title string, path string, slug string) error } type noteRepository struct {