AUdio Player Service refactor

This commit is contained in:
daniel-c-harvey
2025-09-08 14:20:38 -04:00
parent bf054f3d1b
commit a25d067dff
14 changed files with 323 additions and 158 deletions
+14 -6
View File
@@ -1,4 +1,5 @@
using Microsoft.Extensions.DependencyInjection;
using NetBlocks.Models;
namespace DeepDrftWeb.Client.Clients;
@@ -23,14 +24,21 @@ public class TrackMediaClient
_http = httpClientFactory.CreateClient("DeepDrft.Content");
}
public async Task<TrackMediaResponse> GetTrackMedia(string trackId)
public async Task<ApiResult<TrackMediaResponse>> GetTrackMedia(string trackId)
{
var response = await _http.GetAsync($"api/track/{trackId}");
response.EnsureSuccessStatusCode();
try
{
var response = await _http.GetAsync($"api/track/{trackId}");
response.EnsureSuccessStatusCode();
var contentLength = response.Content.Headers.ContentLength ?? 0;
var stream = await response.Content.ReadAsStreamAsync();
var contentLength = response.Content.Headers.ContentLength ?? 0;
var stream = await response.Content.ReadAsStreamAsync();
return new TrackMediaResponse(stream, contentLength);
return ApiResult<TrackMediaResponse>.CreatePassResult(new TrackMediaResponse(stream, contentLength));
}
catch (Exception e)
{
return ApiResult<TrackMediaResponse>.CreateFailResult(e.Message);
}
}
}