From d1f23de5a6cbc4ceb0bded36885251e340e623c8 Mon Sep 17 00:00:00 2001 From: ccrlawrence Date: Mon, 11 Nov 2024 09:40:39 +0000 Subject: [PATCH] Tag query change (#44) * Tag query change --------- Co-authored-by: Icereed --- paperless.go | 6 +++--- paperless_test.go | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/paperless.go b/paperless.go index 18ccf52..212e73e 100644 --- a/paperless.go +++ b/paperless.go @@ -108,10 +108,10 @@ func (c *PaperlessClient) GetAllTags(ctx context.Context) (map[string]int, error func (c *PaperlessClient) GetDocumentsByTags(ctx context.Context, tags []string) ([]Document, error) { tagQueries := make([]string, len(tags)) for i, tag := range tags { - tagQueries[i] = fmt.Sprintf("tag:%s", tag) + tagQueries[i] = fmt.Sprintf("tags__name__iexact=%s", tag) } - searchQuery := strings.Join(tagQueries, " ") - path := fmt.Sprintf("api/documents/?query=%s", urlEncode(searchQuery)) + searchQuery := strings.Join(tagQueries, "&") + path := fmt.Sprintf("api/documents/?%s", urlEncode(searchQuery)) resp, err := c.Do(ctx, "GET", path, nil) if err != nil { diff --git a/paperless_test.go b/paperless_test.go index 6c70b9d..17cddde 100644 --- a/paperless_test.go +++ b/paperless_test.go @@ -203,7 +203,7 @@ func TestGetDocumentsByTags(t *testing.T) { // Set mock responses env.setMockResponse("/api/documents/", func(w http.ResponseWriter, r *http.Request) { // Verify query parameters - expectedQuery := "query=tag:tag1+tag:tag2" + expectedQuery := "tags__name__iexact=tag1&tags__name__iexact=tag2" assert.Equal(t, expectedQuery, r.URL.RawQuery) w.WriteHeader(http.StatusOK) json.NewEncoder(w).Encode(documentsResponse)