Documentation ¶
Index ¶
- func CreateDB(config Config) (db *sqlx.DB, err error)
- func GetArtistData(ctx context.Context, db *sqlx.DB, artistID string) (*pb.Artist, error)
- func GetArtistUrls(ctx context.Context, db *sqlx.DB, artistID string) ([]*pb.URL, error)
- func GetArtistsData(ctx context.Context, db *sqlx.DB, artistIDs []string) ([]*pb.Artist, error)
- func GetReleaseGroupUrls(ctx context.Context, db *sqlx.DB, releaseGroupID string) ([]*pb.URL, error)
- func GetTrackData(ctx context.Context, db *sqlx.DB, trackID string) (*pb.Track, error)
- func GetTracksData(ctx context.Context, db *sqlx.DB, trackIDs []string) ([]*pb.Track, error)
- type Album
- type Artist
- type Config
- type CoverFileInfo
- type NullInt64
- type PitcherServer
- func (s *PitcherServer) GetArtist(ctx context.Context, request *pb.ArtistRequest) (*pb.ArtistResponse, error)
- func (s *PitcherServer) GetArtistURLs(ctx context.Context, request *pb.ArtistURLsRequest) (*pb.ArtistURLsResponse, error)
- func (s *PitcherServer) GetArtists(ctx context.Context, request *pb.ArtistsRequest) (*pb.ArtistsResponse, error)
- func (s *PitcherServer) GetCoverArt(ctx context.Context, request *pb.CoverArtRequest) (*pb.CoverArtResponse, error)
- func (s *PitcherServer) GetReleaseGroupURLs(ctx context.Context, request *pb.ReleaseGroupURLsRequest) (*pb.ReleaseGroupURLsResponse, error)
- func (s *PitcherServer) GetTrack(ctx context.Context, request *pb.TrackRequest) (*pb.TrackResponse, error)
- func (s *PitcherServer) GetTracks(ctx context.Context, request *pb.TracksRequest) (*pb.TracksResponse, error)
- func (s *PitcherServer) MatchTrack(ctx context.Context, request *pb.MatchingRequest) (*pb.MatchingResponse, error)
- type PreferredCoverRelease
- type ReleaseDate
- type SolrDoc
- type SolrResponse
- type SolrResponseBody
- type Track
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GetArtistData ¶
GetArtistData returns Artist matching MusicBrainz ID
func GetArtistUrls ¶
GetArtistUrls return external urls for artists' releases
func GetArtistsData ¶
GetArtistsData returns Artists matching a list of MusicBrainz IDs
func GetReleaseGroupUrls ¶
func GetReleaseGroupUrls(ctx context.Context, db *sqlx.DB, releaseGroupID string) ([]*pb.URL, error)
GetReleaseGroupUrls return external urls for release group's releases
func GetTrackData ¶
GetTrackData returns Track matching MusicBrainz ID
Types ¶
type Album ¶
type Album struct { ID int `db:"id" json:"-"` GID string `db:"gid" json:"mbid"` ReleaseGID string `db:"release_gid" json:"release_mbid"` Name string `db:"name" json:"name"` ReleaseDate *ReleaseDate `json:"release_date"` }
Album structure
type CoverFileInfo ¶
type CoverFileInfo struct { ID int64 `db:"id"` Suffix string `db:"suffix"` ReleaseMbID string `db:"-"` }
func GetCoverFileInfoByReleaseGroup ¶
func GetCoverFileInfoByReleaseGroup(ctx context.Context, db *sqlx.DB, releaseGroupID string) (*CoverFileInfo, error)
GetCoverFileInfoByReleaseGroup returns image data for releaseGroupID
type NullInt64 ¶
NullInt64 that can be marshalled with null value
func (NullInt64) MarshalJSON ¶
MarshalJSON that returns null-values on NULL sql columns
type PitcherServer ¶
type PitcherServer struct { pb.UnimplementedPitcherServer Config DB *sqlx.DB }
func NewServer ¶
func NewServer(config Config) (*PitcherServer, error)
func (*PitcherServer) GetArtist ¶
func (s *PitcherServer) GetArtist(ctx context.Context, request *pb.ArtistRequest) (*pb.ArtistResponse, error)
func (*PitcherServer) GetArtistURLs ¶
func (s *PitcherServer) GetArtistURLs(ctx context.Context, request *pb.ArtistURLsRequest) (*pb.ArtistURLsResponse, error)
func (*PitcherServer) GetArtists ¶
func (s *PitcherServer) GetArtists(ctx context.Context, request *pb.ArtistsRequest) (*pb.ArtistsResponse, error)
func (*PitcherServer) GetCoverArt ¶
func (s *PitcherServer) GetCoverArt(ctx context.Context, request *pb.CoverArtRequest) (*pb.CoverArtResponse, error)
func (*PitcherServer) GetReleaseGroupURLs ¶
func (s *PitcherServer) GetReleaseGroupURLs(ctx context.Context, request *pb.ReleaseGroupURLsRequest) (*pb.ReleaseGroupURLsResponse, error)
func (*PitcherServer) GetTrack ¶
func (s *PitcherServer) GetTrack(ctx context.Context, request *pb.TrackRequest) (*pb.TrackResponse, error)
func (*PitcherServer) GetTracks ¶
func (s *PitcherServer) GetTracks(ctx context.Context, request *pb.TracksRequest) (*pb.TracksResponse, error)
func (*PitcherServer) MatchTrack ¶
func (s *PitcherServer) MatchTrack(ctx context.Context, request *pb.MatchingRequest) (*pb.MatchingResponse, error)
type PreferredCoverRelease ¶
type PreferredCoverRelease struct {
MbID string `db:"mbid"`
}
type ReleaseDate ¶
type ReleaseDate struct { Year NullInt64 `db:"date_year" json:"year"` Month NullInt64 `db:"date_month" json:"month"` Day NullInt64 `db:"date_day" json:"day"` }
ReleaseDate structure
type SolrResponse ¶
type SolrResponse struct {
Response SolrResponseBody `json:"response"`
}
type SolrResponseBody ¶
type SolrResponseBody struct {
Docs []SolrDoc `json:"docs"`
}
type Track ¶
type Track struct { ID int64 `db:"id" json:"id"` GID string `db:"gid" json:"mbid"` RecordingID string `db:"recording_id" json:"recording_mbid"` Name string `db:"name" json:"name"` MediumPosition int `db:"medium_position" json:"medium_position"` Position int `db:"position" json:"position"` Length int `db:"length" json:"length"` Artist *Artist `json:"artist"` Album *Album `json:"album"` }
Track structure
Click to show internal directories.
Click to hide internal directories.