summaryrefslogtreecommitdiff
path: root/internal/api/model/search.go
diff options
context:
space:
mode:
authorLibravatar Tobi Smethurst <31960611+tsmethurst@users.noreply.github.com>2021-08-02 19:06:44 +0200
committerLibravatar GitHub <noreply@github.com>2021-08-02 19:06:44 +0200
commit0386a28b5a3c4212320e8a96ddd14c54b65a2090 (patch)
tree3bfdf198934215ac64acac9d66d952baf65c2752 /internal/api/model/search.go
parentfix breaky linky (diff)
downloadgotosocial-0386a28b5a3c4212320e8a96ddd14c54b65a2090.tar.xz
Frodo swaggins (#126)
* more swagger fun * document a whole bunch more stuff * more swagger yayyyyyyy * progress + go fmt
Diffstat (limited to 'internal/api/model/search.go')
-rw-r--r--internal/api/model/search.go87
1 files changed, 63 insertions, 24 deletions
diff --git a/internal/api/model/search.go b/internal/api/model/search.go
index ba282f6f1..6287dba0e 100644
--- a/internal/api/model/search.go
+++ b/internal/api/model/search.go
@@ -18,33 +18,72 @@
package model
-// SearchQuery corresponds to search parameters as submitted through the client API.
-// See https://docs.joinmastodon.org/methods/search/
+// SearchQuery models a search request.
+//
+// swagger:parameters searchGet
type SearchQuery struct {
- // If provided, statuses returned will be authored only by this account
- AccountID string
- // Return results older than this id
- MaxID string
- // Return results immediately newer than this id
- MinID string
- // Enum(accounts, hashtags, statuses)
- Type string
- // Filter out unreviewed tags? Defaults to false. Use true when trying to find trending tags.
- ExcludeUnreviewed bool
- // The search query
- Query string
- // Attempt WebFinger lookup. Defaults to false.
- Resolve bool
- // Maximum number of results to load, per type. Defaults to 20. Max 40.
- Limit int
- // Offset in search results. Used for pagination. Defaults to 0.
- Offset int
- // Only include accounts that the user is following. Defaults to false.
- Following bool
+ // 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"`
}
-// SearchResult corresponds to a search result, containing accounts, statuses, and hashtags.
-// See https://docs.joinmastodon.org/methods/search/
+// SearchResult models a search result.
+//
+// swagger:model searchResult
type SearchResult struct {
Accounts []Account `json:"accounts"`
Statuses []Status `json:"statuses"`