diff --git a/cmd/main.go b/cmd/main.go index a6e1d1d..f5b264b 100644 --- a/cmd/main.go +++ b/cmd/main.go @@ -40,7 +40,6 @@ func main() { server.RegisterHandler("note/backlinks", note.NewGetBackLinksHandler(linkRepo, noteRepo)) server.RegisterHandler("note/search_by_tag", note.NewGetNotesByTagHandler(noteRepo)) - server.RegisterHandler("completion/link", completion.NewCompleteLinkHandler(linkRepo)) server.RegisterHandler("completion/tag", completion.NewCompleteTagHandler(tagRepo)) server.RegisterHandler("completion/slug", completion.NewCompleteSlugHandler(noteRepo)) diff --git a/core/handlers/completion/complete_link_handler.go b/core/handlers/completion/complete_link_handler.go deleted file mode 100644 index 4ea8f17..0000000 --- a/core/handlers/completion/complete_link_handler.go +++ /dev/null @@ -1,45 +0,0 @@ -package completion - -import ( - "context" - "encoding/json" - "log/slog" - - "github.com/KristianJBorgwarth/dendrite.daemon/persistence/repositories" -) - -type completeLinkCommand struct { - Query string `json:"query"` -} - -type completeLinkResult struct { - Slug string `json:"slug"` - Display string `json:"display"` -} - -type CompleteLinkHandler struct { - linkRepo repositories.ILinkRepository -} - -func NewCompleteLinkHandler(lr repositories.ILinkRepository) *CompleteLinkHandler { - return &CompleteLinkHandler{linkRepo: lr} -} - -func (h *CompleteLinkHandler) Handle(ctx context.Context, raw json.RawMessage) (any, error) { - var cmd completeLinkCommand - if err := json.Unmarshal(raw, &cmd); err != nil { - return nil, err - } - links, err := h.linkRepo.Search(ctx, cmd.Query) - if err != nil { - slog.Error("Failed to search links", "error", err) - return nil, err - } - - items := make([]completeLinkResult, len(links)) - for i, link := range links { - items[i] = completeLinkResult{Slug: link.TargetSlug(), Display: link.Display()} - } - - return items, nil -} diff --git a/dendrite b/dendrite index 26f6b2a..4717851 100755 Binary files a/dendrite and b/dendrite differ diff --git a/persistence/repositories/link_repository.go b/persistence/repositories/link_repository.go index fc9a407..9645d4a 100644 --- a/persistence/repositories/link_repository.go +++ b/persistence/repositories/link_repository.go @@ -14,7 +14,6 @@ type ILinkRepository interface { InsertRange(ctx context.Context, dbContext persistence.IDbContext, links []*models.Link) error GetByNoteID(ctx context.Context, dbContext persistence.IDbContext, fromNoteID string) ([]*models.Link, error) GetBySlug(ctx context.Context, dbContext persistence.IDbContext, targetSlug string) ([]*models.Link, error) - Search(ctx context.Context, query string) ([]*models.Link, error) GetBacklinks(ctx context.Context, slug string) ([]*dtos.BacklinkDto, error) Delete(ctx context.Context, dbContext persistence.IDbContext, fromNoteID string) error } @@ -105,26 +104,6 @@ func (r *linkRepository) GetBySlug(ctx context.Context, dbContext persistence.ID return links, nil } -func (r *linkRepository) Search(ctx context.Context, query string) ([]*models.Link, error) { - rows, err := r.readDBContext.QueryContext(ctx, `SELECT id, from_note_id, target_slug, raw, display, line, col FROM link WHERE raw LIKE ?`, "%"+query+"%") - if err != nil { - return nil, err - } - defer rows.Close() - - var links []*models.Link - for rows.Next() { - var id, fromNoteID, targetSlug, raw, display string - var line, col int - if err := rows.Scan(&id, &fromNoteID, &targetSlug, &raw, &display, &line, &col); err != nil { - return nil, err - } - links = append(links, models.NewLink(id, fromNoteID, targetSlug, raw, display, line, col)) - } - - return links, nil -} - func (r *linkRepository) GetBacklinks(ctx context.Context, slug string) ([]*dtos.BacklinkDto, error) { query := ` SELECT n.id, n.slug, n.title, n.path, l.raw, l.line, l.col