Update search result type (us rich tag structure)
This change will let us use the same 'Results' object for both
versions of the search API endpoint (v1 & v2).
--- a/search.go Wed Sep 05 22:55:20 2018 +0200
+++ b/search.go Thu Sep 06 00:23:40 2018 +0200
@@ -22,9 +22,20 @@
params["resolve"] = "true"
}
- var results Results
- if err := mc.apiCall("search", rest.Get, params, nil, nil, &results); err != nil {
+ var resultsV1 struct {
+ Results
+ Hashtags []string `json:"hashtags"`
+ }
+ if err := mc.apiCall("search", rest.Get, params, nil, nil, &resultsV1); err != nil {
return nil, err
}
+
+ var results Results
+ results.Accounts = resultsV1.Accounts
+ results.Statuses = resultsV1.Statuses
+ for _, t := range resultsV1.Hashtags {
+ results.Hashtags = append(results.Hashtags, Tag{Name: t})
+ }
+
return &results, nil
}
--- a/types.go Wed Sep 05 22:55:20 2018 +0200
+++ b/types.go Thu Sep 06 00:23:40 2018 +0200
@@ -197,7 +197,7 @@
type Results struct {
Accounts []Account `json:"accounts"`
Statuses []Status `json:"statuses"`
- Hashtags []string `json:"hashtags"`
+ Hashtags []Tag `json:"hashtags"`
}
// Status represents a Mastodon status entity