Fix DownloadSongAsync return type handling

This commit is contained in:
2026-02-01 11:18:17 -05:00
parent 027aeab969
commit df3cc51e17

View File

@@ -2112,16 +2112,18 @@ public class JellyfinController : ControllerBase
// Trigger download first
_logger.LogInformation("Downloading track for kept folder: {ItemId}", itemId);
var downloadResult = await _downloadService.DownloadSongAsync(provider, externalId);
string downloadPath;
if (!downloadResult.IsSuccess)
try
{
_logger.LogWarning("Failed to download track {ItemId}: {Error}", itemId, downloadResult.Error);
downloadPath = await _downloadService.DownloadSongAsync(provider, externalId);
}
catch (Exception ex)
{
_logger.LogWarning(ex, "Failed to download track {ItemId}", itemId);
return;
}
var downloadPath = downloadResult.Value!.FilePath;
// Create kept folder structure: /app/kept/Artist/Album/
var keptBasePath = "/app/kept";
var keptArtistPath = Path.Combine(keptBasePath, PathHelper.SanitizeFileName(song.Artist));