Funkwhale: Implemented LovesExport

This commit is contained in:
Philipp Wolfer 2023-11-12 15:57:18 +01:00
parent 48c8843f91
commit 9316838d59
No known key found for this signature in database
GPG key ID: 8FDF744D4919943B
6 changed files with 446 additions and 13 deletions

View file

@ -49,20 +49,39 @@ func NewClient(serverUrl string, token string) Client {
return client
}
func (c Client) GetHistoryListenings(user string, page int, perPage int) (ListeningsResult, error) {
func (c Client) GetHistoryListenings(user string, page int, perPage int) (result ListeningsResult, err error) {
const path = "/api/v1/history/listenings"
result := &ListeningsResult{}
response, err := c.HttpClient.R().
SetQueryParams(map[string]string{
"username": user,
"page": strconv.Itoa(page),
"page_size": strconv.Itoa(perPage),
"ordering": "-creation_date",
}).
SetResult(result).
SetResult(&result).
Get(path)
if response.StatusCode() != 200 {
return *result, errors.New(response.String())
err = errors.New(response.String())
return
}
return *result, err
return
}
func (c Client) GetFavoriteTracks(page int, perPage int) (result FavoriteTracksResult, err error) {
const path = "/api/v1/favorites/tracks"
response, err := c.HttpClient.R().
SetQueryParams(map[string]string{
"page": strconv.Itoa(page),
"page_size": strconv.Itoa(perPage),
"ordering": "-creation_date",
}).
SetResult(&result).
Get(path)
if response.StatusCode() != 200 {
err = errors.New(response.String())
return
}
return
}