feat: normalize release-cardinal fields out of track into a Release entity (Phase 8 §8.0)
This commit is contained in:
@@ -450,7 +450,7 @@ public class CmsTrackService : ICmsTrackService
|
||||
}
|
||||
}
|
||||
|
||||
public async Task<ResultContainer<List<AlbumSummaryDto>>> GetAlbumSummariesAsync(CancellationToken ct = default)
|
||||
public async Task<ResultContainer<List<ReleaseDto>>> GetReleasesAsync(CancellationToken ct = default)
|
||||
{
|
||||
var client = _httpClientFactory.CreateClient(ContentCmsClientName);
|
||||
|
||||
@@ -461,36 +461,36 @@ public class CmsTrackService : ICmsTrackService
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
_logger.LogError(ex, "Content API call failed for album summaries");
|
||||
return ResultContainer<List<AlbumSummaryDto>>.CreateFailResult("Content API is unreachable.");
|
||||
_logger.LogError(ex, "Content API call failed for releases");
|
||||
return ResultContainer<List<ReleaseDto>>.CreateFailResult("Content API is unreachable.");
|
||||
}
|
||||
|
||||
using (response)
|
||||
{
|
||||
if (!response.IsSuccessStatusCode)
|
||||
{
|
||||
_logger.LogError("Content API album summaries failed: {Status}", (int)response.StatusCode);
|
||||
return ResultContainer<List<AlbumSummaryDto>>.CreateFailResult("Failed to load albums.");
|
||||
_logger.LogError("Content API releases failed: {Status}", (int)response.StatusCode);
|
||||
return ResultContainer<List<ReleaseDto>>.CreateFailResult("Failed to load albums.");
|
||||
}
|
||||
|
||||
List<AlbumSummaryDto>? albums;
|
||||
List<ReleaseDto>? releases;
|
||||
try
|
||||
{
|
||||
albums = await response.Content.ReadFromJsonAsync<List<AlbumSummaryDto>>(ct);
|
||||
releases = await response.Content.ReadFromJsonAsync<List<ReleaseDto>>(ct);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
_logger.LogError(ex, "Failed to deserialize album summaries from Content API response");
|
||||
return ResultContainer<List<AlbumSummaryDto>>.CreateFailResult("Content API returned an unexpected response.");
|
||||
_logger.LogError(ex, "Failed to deserialize releases from Content API response");
|
||||
return ResultContainer<List<ReleaseDto>>.CreateFailResult("Content API returned an unexpected response.");
|
||||
}
|
||||
|
||||
if (albums is null)
|
||||
if (releases is null)
|
||||
{
|
||||
_logger.LogError("Content API returned a null album summaries list");
|
||||
return ResultContainer<List<AlbumSummaryDto>>.CreateFailResult("Content API returned an empty response.");
|
||||
_logger.LogError("Content API returned a null releases list");
|
||||
return ResultContainer<List<ReleaseDto>>.CreateFailResult("Content API returned an empty response.");
|
||||
}
|
||||
|
||||
return ResultContainer<List<AlbumSummaryDto>>.CreatePassResult(albums);
|
||||
return ResultContainer<List<ReleaseDto>>.CreatePassResult(releases);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user