From cc16b17b88e60189b9357c2dddad0501fc4c83de Mon Sep 17 00:00:00 2001 From: Mathis Maquenne <124215603+mathismqn@users.noreply.github.com> Date: Mon, 14 Oct 2024 16:07:01 +0200 Subject: [PATCH] fix(media): handle some errors --- internal/deezer/media.go | 1 + internal/deezer/song.go | 7 +++++++ 2 files changed, 8 insertions(+) diff --git a/internal/deezer/media.go b/internal/deezer/media.go index 84e4bbb..fae0bbc 100644 --- a/internal/deezer/media.go +++ b/internal/deezer/media.go @@ -17,6 +17,7 @@ type Media struct { Format string `json:"format"` Sources []Source `json:"sources"` } + Errors []MediaError `json:"errors"` } `json:"data"` } diff --git a/internal/deezer/song.go b/internal/deezer/song.go index 7de5805..e4a4782 100644 --- a/internal/deezer/song.go +++ b/internal/deezer/song.go @@ -68,6 +68,13 @@ func (s *Song) GetMediaData(quality string) (*Media, error) { return nil, fmt.Errorf("%s", media.Errors[0].Message) } + if len(media.Data) > 0 && len(media.Data[0].Errors) > 0 { + if media.Data[0].Errors[0].Code == 2002 { + return nil, fmt.Errorf("invalid track token") + } + + return nil, fmt.Errorf("%s", media.Data[0].Errors[0].Message) + } return &media, nil }