Merge branch 'feature/download-track' into dev

This commit is contained in:
Mathis Maquenne
2025-09-10 11:11:40 +02:00
5 changed files with 133 additions and 16 deletions
+9 -5
View File
@@ -45,6 +45,8 @@ func (c *Client) FetchResource(ctx context.Context, resource Resource, id string
payload["alb_id"] = id
case *Artist:
payload["art_id"] = id
case *Track:
payload["sng_id"] = id
default:
return fmt.Errorf("unsupported resource type: %T", r)
}
@@ -75,15 +77,17 @@ func (c *Client) FetchResource(ctx context.Context, resource Resource, id string
return err
}
if strings.Contains(string(body), `"DATA_ERROR":"playlist::getData"`) {
switch {
case strings.Contains(string(body), `"DATA_ERROR":"playlist::getData"`):
return fmt.Errorf("invalid playlist ID")
}
if strings.Contains(string(body), `"DATA_ERROR":"album::getData"`) {
case strings.Contains(string(body), `"DATA_ERROR":"album::getData"`):
return fmt.Errorf("invalid album ID")
}
if strings.Contains(string(body), `"DATA_ERROR":"artist::getData"`) {
case strings.Contains(string(body), `"DATA_ERROR":"artist::getData"`):
return fmt.Errorf("invalid artist ID")
case strings.Contains(string(body), `"DATA_ERROR":"song::getData"`):
return fmt.Errorf("invalid track ID")
}
if strings.Contains(string(body), `"results":{}`) {
return fmt.Errorf("unexpected response")
}