Add remaining model types and client methods
Models added: - Disclaimer, ForeignAgent (credits.go) - ArtistConcerts (concert.go) - Dashboard, StationResult, Station, AdParams, GenerativeStream, GenerativeStreamData, GenerativeStreamInfo (radio.go) - FileInfo, FileDownloadInfo, TrackFullInfo, SimilarTracks, TrackTrailer (track.go) - Removed duplicate AdParams from feed.go Client methods added: - artists.go: GetArtistBriefInfo, GetArtistSimilar, GetArtistLinks, GetArtistAlsoAlbums, GetArtistDiscographyAlbums, GetArtistSafeDirectAlbums, GetArtistTrackIds, GetArtistAbout, GetArtistDonation, GetArtistInfo, GetArtistSkeleton, GetArtistTrailer - albums.go: GetAlbumSimilarEntities, GetAlbumTrailer - clips.go: GetClipsDisclaimer - concerts.go: GetArtistConcerts, GetConcertSkeleton - radio.go: GetRotorStationsDashboard, GetRotorStationsList, GetRotorStationInfo, GetRotorStationStream, GetRotorStationSettings - supplements.go: GetTracksCredits, GetClipsCredits - queue.go: GetQueuesList - tracks.go: GetTracksFileInfo, GetTracksSimilar, GetTrackTrailer, GetTrackFullInfo
This commit is contained in:
1 parent
49920d8908
commit
73775a8526
9 files changed
+639
-7
No files matched your search
@@ -121,3 +121,61 @@ func (c *Client) RotorSessionFeedback(ctx context.Context, sessionID, trackID, f
|
||||
var result map[string]any
|
||||
return c.request.Post(ctx, fmt.Sprintf("/rotor/station/%s/feedback", sessionID), params, &result)
|
||||
}
|
||||
|
||||
// GetRotorStationsDashboard gets rotor stations dashboard (GET /rotor/stations/dashboard).
|
||||
func (c *Client) GetRotorStationsDashboard(ctx context.Context) (*models.Dashboard, error) {
|
||||
var result models.Dashboard
|
||||
if err := c.request.Get(ctx, "/rotor/stations/dashboard", nil, &result); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
result.SetClient(c)
|
||||
return &result, nil
|
||||
}
|
||||
|
||||
// GetRotorStationsList gets rotor stations list (GET /rotor/stations/list).
|
||||
func (c *Client) GetRotorStationsList(ctx context.Context) ([]*models.StationResult, error) {
|
||||
var result []models.StationResult
|
||||
if err := c.request.Get(ctx, "/rotor/stations/list", nil, &result); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
stations := make([]*models.StationResult, len(result))
|
||||
for i := range result {
|
||||
result[i].SetClient(c)
|
||||
stations[i] = &result[i]
|
||||
}
|
||||
return stations, nil
|
||||
}
|
||||
|
||||
// GetRotorStationInfo gets rotor station info (GET /rotor/station/{id}/info).
|
||||
func (c *Client) GetRotorStationInfo(ctx context.Context, stationID string) (*models.RotorStation, error) {
|
||||
var result models.RotorStation
|
||||
if err := c.request.Get(ctx, fmt.Sprintf("/rotor/station/%s/info", stationID), nil, &result); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
result.SetClient(c)
|
||||
return &result, nil
|
||||
}
|
||||
|
||||
// GetRotorStationStream gets rotor station stream (GET /rotor/station/{id}/stream).
|
||||
func (c *Client) GetRotorStationStream(ctx context.Context, stationID string) (*models.GenerativeStream, error) {
|
||||
var result models.GenerativeStream
|
||||
if err := c.request.Get(ctx, fmt.Sprintf("/rotor/station/%s/stream", stationID), nil, &result); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
result.SetClient(c)
|
||||
return &result, nil
|
||||
}
|
||||
|
||||
// GetRotorStationSettings gets rotor station settings (POST /rotor/station/{id}/settings3).
|
||||
func (c *Client) GetRotorStationSettings(ctx context.Context, stationID string, moodEnergy, diversity, language string) (bool, error) {
|
||||
params := map[string]string{
|
||||
"mood-energy": moodEnergy,
|
||||
"diversity": diversity,
|
||||
"language": language,
|
||||
}
|
||||
var result bool
|
||||
if err := c.request.Post(ctx, fmt.Sprintf("/rotor/station/%s/settings3", stationID), params, &result); err != nil {
|
||||
return false, err
|
||||
}
|
||||
return result, nil
|
||||
}
|
||||
Reference in new issue
Block a user