diff options
author | 2023-06-21 18:26:40 +0200 | |
---|---|---|
committer | 2023-06-21 17:26:40 +0100 | |
commit | 831ae09f8bab04af854243421047371339c3e190 (patch) | |
tree | f7709d478cc363dc1899bdb658fe20e2dc7986f3 /internal/api/model/search.go | |
parent | [docs] Disambiguate docker version, don't recommend opening localhost (#1913) (diff) | |
download | gotosocial-831ae09f8bab04af854243421047371339c3e190.tar.xz |
[feature] Add partial text search for accounts + statuses (#1836)
Diffstat (limited to 'internal/api/model/search.go')
-rw-r--r-- | internal/api/model/search.go | 78 |
1 files changed, 14 insertions, 64 deletions
diff --git a/internal/api/model/search.go b/internal/api/model/search.go index f7b86f884..664bf7b26 100644 --- a/internal/api/model/search.go +++ b/internal/api/model/search.go @@ -17,74 +17,24 @@ package model -// SearchQuery models a search request. -// -// swagger:parameters searchGet -type SearchQuery struct { - // If type is `statuses`, then statuses returned will be authored only by this account. - // - // in: query - AccountID string `json:"account_id"` - // Return results *older* than this id. - // - // The entry with this ID will not be included in the search results. - // in: query - MaxID string `json:"max_id"` - // Return results *newer* than this id. - // - // The entry with this ID will not be included in the search results. - // in: query - MinID string `json:"min_id"` - // Type of the search query to perform. - // - // Must be one of: `accounts`, `hashtags`, `statuses`. - // - // enum: - // - accounts - // - hashtags - // - statuses - // required: true - // in: query - Type string `json:"type"` - // Filter out tags that haven't been reviewed and approved by an instance admin. - // - // default: false - // in: query - ExcludeUnreviewed bool `json:"exclude_unreviewed"` - // String to use as a search query. - // - // For accounts, this should be in the format `@someaccount@some.instance.com`, or the format `https://some.instance.com/@someaccount` - // - // For a status, this can be in the format: `https://some.instance.com/@someaccount/SOME_ID_OF_A_STATUS` - // - // required: true - // in: query - Query string `json:"q"` - // Attempt to resolve the query by performing a remote webfinger lookup, if the query includes a remote host. - // default: false - Resolve bool `json:"resolve"` - // Maximum number of results to load, per type. - // default: 20 - // minimum: 1 - // maximum: 40 - // in: query - Limit int `json:"limit"` - // Offset for paginating search results. - // - // default: 0 - // in: query - Offset int `json:"offset"` - // Only include accounts that the searching account is following. - // default: false - // in: query - Following bool `json:"following"` +// SearchRequest models a search request. +type SearchRequest struct { + MaxID string + MinID string + Limit int + Offset int + Query string + QueryType string + Resolve bool + Following bool + ExcludeUnreviewed bool } // SearchResult models a search result. // // swagger:model searchResult type SearchResult struct { - Accounts []Account `json:"accounts"` - Statuses []Status `json:"statuses"` - Hashtags []Tag `json:"hashtags"` + Accounts []*Account `json:"accounts"` + Statuses []*Status `json:"statuses"` + Hashtags []*Tag `json:"hashtags"` } |