From 61a8d362557c1787d534024ed2f14e999b785cc3 Mon Sep 17 00:00:00 2001 From: Vyr Cossont Date: Fri, 31 May 2024 03:55:56 -0700 Subject: [feature] Implement Filter API v2 (#2936) * Use correct entity name * We support server-side filters now * Document filter v1 methods that can throw a 409 * Validate v1 filter phrase as filter title * Always check v1 filter API status codes in tests * Document keyword minimum requirement on filter API v1 * Make it possible to specify filter keyword update columns per filter keyword * Implement v2 filter API * Fix lint and tests * Update Swagger spec * Fix filter update test * Update Swagger spec *correctly* * Update actual files Swagger spec was generated from * Remove keywords_attributes and statuses_attributes * Add test for serialization of empty filter * More helpful messages when object is owned by wrong account --- internal/api/client.go | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'internal/api/client.go') diff --git a/internal/api/client.go b/internal/api/client.go index ce95e3dfc..07fc82aaa 100644 --- a/internal/api/client.go +++ b/internal/api/client.go @@ -31,6 +31,7 @@ import ( "github.com/superseriousbusiness/gotosocial/internal/api/client/favourites" "github.com/superseriousbusiness/gotosocial/internal/api/client/featuredtags" filtersV1 "github.com/superseriousbusiness/gotosocial/internal/api/client/filters/v1" + filtersV2 "github.com/superseriousbusiness/gotosocial/internal/api/client/filters/v2" "github.com/superseriousbusiness/gotosocial/internal/api/client/followrequests" "github.com/superseriousbusiness/gotosocial/internal/api/client/instance" "github.com/superseriousbusiness/gotosocial/internal/api/client/lists" @@ -67,6 +68,7 @@ type Client struct { favourites *favourites.Module // api/v1/favourites featuredTags *featuredtags.Module // api/v1/featured_tags filtersV1 *filtersV1.Module // api/v1/filters + filtersV2 *filtersV2.Module // api/v2/filters followRequests *followrequests.Module // api/v1/follow_requests instance *instance.Module // api/v1/instance lists *lists.Module // api/v1/lists @@ -111,6 +113,7 @@ func (c *Client) Route(r *router.Router, m ...gin.HandlerFunc) { c.favourites.Route(h) c.featuredTags.Route(h) c.filtersV1.Route(h) + c.filtersV2.Route(h) c.followRequests.Route(h) c.instance.Route(h) c.lists.Route(h) @@ -143,6 +146,7 @@ func NewClient(state *state.State, p *processing.Processor) *Client { favourites: favourites.New(p), featuredTags: featuredtags.New(p), filtersV1: filtersV1.New(p), + filtersV2: filtersV2.New(p), followRequests: followrequests.New(p), instance: instance.New(p), lists: lists.New(p), -- cgit v1.2.3