# HG changeset patch # User Mikael Berthe # Date 1536186220 -7200 # Node ID 5b87cc73ed97614316ede827157ad52d78a14cb8 # Parent 263da7f71f03a4cd3a2c52dd156f0802020f8317 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). diff -r 263da7f71f03 -r 5b87cc73ed97 search.go --- 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 } diff -r 263da7f71f03 -r 5b87cc73ed97 types.go --- 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