fix: review remediation — _busy finally block, TrackNotFoundMessage const, null-safe error log

This commit is contained in:
Daniel Harvey
2026-05-25 09:11:15 -04:00
parent f404602536
commit d9e4052e39
3 changed files with 7 additions and 4 deletions
@@ -251,7 +251,7 @@ public class TrackController : ControllerBase
}
var error = result.Messages.FirstOrDefault()?.Message ?? "Unknown error";
if (string.Equals(error, "Track not found.", StringComparison.Ordinal))
if (string.Equals(error, UnifiedTrackService.TrackNotFoundMessage, StringComparison.Ordinal))
{
return NotFound();
}
@@ -14,6 +14,7 @@ namespace DeepDrftContent.Services;
/// </summary>
public class UnifiedTrackService
{
internal const string TrackNotFoundMessage = "Track not found.";
private readonly ContentTrackService _contentTrackService;
private readonly ITrackService _sqlTrackService;
private readonly FileDb _fileDatabase;
@@ -89,7 +90,7 @@ public class UnifiedTrackService
if (lookup.Value is null)
{
return Result.CreateFailResult("Track not found.");
return Result.CreateFailResult(TrackNotFoundMessage);
}
var entryKey = lookup.Value.EntryKey;
@@ -97,7 +98,7 @@ public class UnifiedTrackService
var sqlDelete = await _sqlTrackService.Delete(id);
if (!sqlDelete.Success)
{
var error = sqlDelete.Messages.FirstOrDefault()?.Message;
var error = sqlDelete.Messages.FirstOrDefault()?.Message ?? "unknown error";
_logger.LogError("DeleteAsync: SQL delete failed for track {TrackId}: {Error}", id, error);
return Result.CreateFailResult("Failed to delete track.");
}
@@ -178,13 +178,15 @@
{
var error = result.Messages.FirstOrDefault()?.Message ?? "Unknown error";
Snackbar.Add($"Delete failed: {error}", Severity.Error);
_busy = false;
}
}
catch (Exception ex)
{
Logger.LogError(ex, "Delete failed for track {TrackId}", Id);
Snackbar.Add("Delete failed — please try again.", Severity.Error);
}
finally
{
_busy = false;
}
}