diff options
author | 2024-05-31 03:55:56 -0700 | |
---|---|---|
committer | 2024-05-31 12:55:56 +0200 | |
commit | 61a8d362557c1787d534024ed2f14e999b785cc3 (patch) | |
tree | f0ace4432170c0c88afa3233c2c327c808b7b92d /internal/db/filter.go | |
parent | [chore] little startup tweaks (#2941) (diff) | |
download | gotosocial-61a8d362557c1787d534024ed2f14e999b785cc3.tar.xz |
[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
Diffstat (limited to 'internal/db/filter.go')
-rw-r--r-- | internal/db/filter.go | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/internal/db/filter.go b/internal/db/filter.go index 18943b4f9..eee61a99d 100644 --- a/internal/db/filter.go +++ b/internal/db/filter.go @@ -42,11 +42,13 @@ type Filter interface { // and deletes indicated filter keywords and statuses by ID. // It uses a transaction to ensure no partial updates. // The column lists are optional; if not specified, all columns will be updated. + // The filter keyword columns list is *per keyword*. + // To update all keyword columns, provide a list where every element is an empty list. UpdateFilter( ctx context.Context, filter *gtsmodel.Filter, filterColumns []string, - filterKeywordColumns []string, + filterKeywordColumns [][]string, deleteFilterKeywordIDs []string, deleteFilterStatusIDs []string, ) error |