Fix tests, add trophies endpoint for account, edit trophies struct

Signed-off-by: Vartan Benohanian <vartanbeno@gmail.com>
This commit is contained in:
Vartan Benohanian
2020-06-27 23:15:27 -04:00
parent cad26daa3b
commit c8d7abf216
8 changed files with 114 additions and 73 deletions
+24
View File
@@ -12,6 +12,7 @@ type AccountService interface {
Karma(ctx context.Context) ([]SubredditKarma, *Response, error)
Settings(ctx context.Context) (*Settings, *Response, error)
UpdateSettings(ctx context.Context, settings *Settings) (*Settings, *Response, error)
Trophies(ctx context.Context) ([]Trophy, *Response, error)
}
// AccountServiceOp implements the AccountService interface.
@@ -288,3 +289,26 @@ func (s *AccountServiceOp) UpdateSettings(ctx context.Context, settings *Setting
return root, resp, nil
}
// Trophies returns a list of your trophies.
func (s *AccountServiceOp) Trophies(ctx context.Context) ([]Trophy, *Response, error) {
path := "api/v1/me/trophies"
req, err := s.client.NewRequest(http.MethodGet, path, nil)
if err != nil {
return nil, nil, err
}
root := new(rootTrophyListing)
resp, err := s.client.Do(ctx, req, root)
if err != nil {
return nil, resp, err
}
var trophies []Trophy
for _, trophy := range root.Data.Trophies {
trophies = append(trophies, trophy.Data)
}
return trophies, resp, nil
}