Feed: Added can_get_more_events, pumpkin, is_wizard_passed, headlines, today, next_revision Label: Added description_formatted, image, links ([]Link), type Landing: Added pumpkin, content_id Pin: Added content_restrictions Search: Added search_request_id, text, best, podcasts, podcast_episodes, clips, banner, page, per_page, misspell fields Clip: Rewrote with all missing fields (version, player_id, uuid, thumbnail, track_ids, disclaimers, explicit, cover, content_restrictions) Concert: Added datetime, afisha_url, city, place, address, content_rating, data_session_id, event_info
97 lines
3.1 KiB
Go
97 lines
3.1 KiB
Go
// Package models provides data models for the Yandex Music API.
|
|
package models
|
|
|
|
// SearchResult represents search results from the Yandex Music API.
|
|
type SearchResult struct {
|
|
SearchRequestID string `json:"search_request_id"`
|
|
Text string `json:"text"`
|
|
Best *Best `json:"best"`
|
|
Tracks *SearchTracksResult `json:"tracks"`
|
|
Albums *SearchAlbumsResult `json:"albums"`
|
|
Artists *SearchArtistsResult `json:"artists"`
|
|
Playlists *SearchPlaylistsResult `json:"playlists"`
|
|
Videos *SearchVideosResult `json:"videos"`
|
|
Users *SearchUsersResult `json:"users"`
|
|
Podcasts *SearchAlbumsResult `json:"podcasts"`
|
|
PodcastEpisodes *SearchTracksResult `json:"podcast_episodes"`
|
|
Clips *SearchVideosResult `json:"clips"`
|
|
Banner *SearchBanner `json:"banner"`
|
|
Page int `json:"page"`
|
|
PerPage int `json:"per_page"`
|
|
MisspellResult bool `json:"misspell_result"`
|
|
MisspellOriginal string `json:"misspell_original"`
|
|
MisspellCorrected bool `json:"misspell_corrected"`
|
|
Nocorrect bool `json:"nocorrect"`
|
|
}
|
|
|
|
// SearchTracksResult represents track search results.
|
|
type SearchTracksResult struct {
|
|
Total int `json:"total"`
|
|
Results []Track `json:"results"`
|
|
}
|
|
|
|
// SearchAlbumsResult represents album search results.
|
|
type SearchAlbumsResult struct {
|
|
Total int `json:"total"`
|
|
Results []Album `json:"results"`
|
|
}
|
|
|
|
// SearchArtistsResult represents artist search results.
|
|
type SearchArtistsResult struct {
|
|
Total int `json:"total"`
|
|
Results []Artist `json:"results"`
|
|
}
|
|
|
|
// SearchPlaylistsResult represents playlist search results.
|
|
type SearchPlaylistsResult struct {
|
|
Total int `json:"total"`
|
|
Results []Playlist `json:"results"`
|
|
}
|
|
|
|
// SearchVideosResult represents video search results.
|
|
type SearchVideosResult struct {
|
|
Total int `json:"total"`
|
|
Results []Video `json:"results"`
|
|
}
|
|
|
|
// SearchUsersResult represents user search results.
|
|
type SearchUsersResult struct {
|
|
Total int `json:"total"`
|
|
Results []User `json:"results"`
|
|
}
|
|
|
|
// SearchBanner represents a search banner.
|
|
type SearchBanner struct {
|
|
ID JSONID `json:"id"`
|
|
Title string `json:"title"`
|
|
Description string `json:"description"`
|
|
Image string `json:"image"`
|
|
URL string `json:"url"`
|
|
Action string `json:"action"`
|
|
Type string `json:"type"`
|
|
}
|
|
|
|
// Tag represents a search tag.
|
|
type Tag struct {
|
|
ID JSONID `json:"id"`
|
|
Title string `json:"title"`
|
|
Description string `json:"description"`
|
|
Count int `json:"count"`
|
|
Type string `json:"type"`
|
|
}
|
|
|
|
// Video represents a video (minimal).
|
|
type Video struct {
|
|
BaseModel
|
|
ID JSONID `json:"id"`
|
|
Title string `json:"title"`
|
|
Duration int `json:"duration"`
|
|
CoverURI string `json:"cover_uri"`
|
|
PreviewURI string `json:"preview_uri"`
|
|
Available bool `json:"available"`
|
|
Views int `json:"views"`
|
|
Likes int `json:"likes"`
|
|
CreatedAt string `json:"created_at"`
|
|
Owner *User `json:"owner"`
|
|
}
|