Browse Source

fix recent regression to health check links (#2147)

pull/2148/head
Jason Dove 1 month ago committed by GitHub
parent
commit
0ee62dbc7d
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 3
      ErsatzTV.Core/Health/HealthCheckLink.cs
  2. 2
      ErsatzTV.Core/Health/HealthCheckResult.cs
  3. 2
      ErsatzTV.Infrastructure/Health/Checks/BaseHealthCheck.cs
  4. 3
      ErsatzTV.Infrastructure/Health/Checks/FileNotFoundHealthCheck.cs
  5. 3
      ErsatzTV.Infrastructure/Health/Checks/UnavailableHealthCheck.cs
  6. 22
      ErsatzTV/Pages/Index.razor

3
ErsatzTV.Core/Health/HealthCheckLink.cs

@ -0,0 +1,3 @@
namespace ErsatzTV.Core.Health;
public record HealthCheckLink(string Link);

2
ErsatzTV.Core/Health/HealthCheckResult.cs

@ -1,3 +1,3 @@
namespace ErsatzTV.Core.Health; namespace ErsatzTV.Core.Health;
public record HealthCheckResult(string Title, HealthCheckStatus Status, string Message, string BriefMessage, Option<string> Link); public record HealthCheckResult(string Title, HealthCheckStatus Status, string Message, string BriefMessage, Option<HealthCheckLink> Link);

2
ErsatzTV.Infrastructure/Health/Checks/BaseHealthCheck.cs

@ -24,7 +24,7 @@ public abstract class BaseHealthCheck
protected HealthCheckResult WarningResult(string message, string briefMessage) => protected HealthCheckResult WarningResult(string message, string briefMessage) =>
new(Title, HealthCheckStatus.Warning, message, briefMessage, None); new(Title, HealthCheckStatus.Warning, message, briefMessage, None);
protected HealthCheckResult WarningResult(string message, string briefMessage, string link) => protected HealthCheckResult WarningResult(string message, string briefMessage, HealthCheckLink link) =>
new(Title, HealthCheckStatus.Warning, message, briefMessage, link); new(Title, HealthCheckStatus.Warning, message, briefMessage, link);
protected HealthCheckResult InfoResult(string message, string briefMessage) => protected HealthCheckResult InfoResult(string message, string briefMessage) =>

3
ErsatzTV.Infrastructure/Health/Checks/FileNotFoundHealthCheck.cs

@ -57,7 +57,8 @@ public class FileNotFoundHealthCheck : BaseHealthCheck, IFileNotFoundHealthCheck
return WarningResult( return WarningResult(
$"There are {count} items that do not exist on disk, including the following: {files}", $"There are {count} items that do not exist on disk, including the following: {files}",
"media/trash"); $"There are {count} items that do not exist on disk",
new HealthCheckLink("media/trash"));
} }
return OkResult(); return OkResult();

3
ErsatzTV.Infrastructure/Health/Checks/UnavailableHealthCheck.cs

@ -85,7 +85,8 @@ public class UnavailableHealthCheck : BaseHealthCheck, IUnavailableHealthCheck
return WarningResult( return WarningResult(
$"There are {count} items that are unavailable because ErsatzTV cannot find them on disk, including the following: {files}", $"There are {count} items that are unavailable because ErsatzTV cannot find them on disk, including the following: {files}",
"search?query=state%3aUnavailable"); $"There are {count} items that are unavailable",
new HealthCheckLink("search?query=state%3aUnavailable"));
} }
return OkResult(); return OkResult();

22
ErsatzTV/Pages/Index.razor

@ -55,8 +55,7 @@
<MudTable Hover="true" <MudTable Hover="true"
Dense="true" Dense="true"
Breakpoint="Breakpoint.None" Breakpoint="Breakpoint.None"
ServerData="@(new Func<TableState, CancellationToken, Task<TableData<HealthCheckResult>>>(ServerReload))" ServerData="@(new Func<TableState, CancellationToken, Task<TableData<HealthCheckResult>>>(ServerReload))">
@ref="_table">
<HeaderContent> <HeaderContent>
<MudTh>Check</MudTh> <MudTh>Check</MudTh>
<MudTh>Message</MudTh> <MudTh>Message</MudTh>
@ -87,9 +86,9 @@
<MudHidden Breakpoint="Breakpoint.Xs"> <MudHidden Breakpoint="Breakpoint.Xs">
@if (context.Link.IsSome) @if (context.Link.IsSome)
{ {
foreach (string link in context.Link) foreach (HealthCheckLink link in context.Link)
{ {
<MudLink Href="@link"> <MudLink Href="@link.Link">
@context.Message @context.Message
</MudLink> </MudLink>
} }
@ -102,7 +101,21 @@
} }
</MudHidden> </MudHidden>
<MudHidden Breakpoint="Breakpoint.Xs" Invert="true"> <MudHidden Breakpoint="Breakpoint.Xs" Invert="true">
@if (context.Link.IsSome)
{
foreach (HealthCheckLink link in context.Link)
{
<MudLink Href="@link.Link">
@context.BriefMessage
</MudLink>
}
}
else
{
<MudText>
@context.BriefMessage @context.BriefMessage
</MudText>
}
</MudHidden> </MudHidden>
</MudTd> </MudTd>
</RowTemplate> </RowTemplate>
@ -124,7 +137,6 @@
private readonly CancellationTokenSource _cts = new(); private readonly CancellationTokenSource _cts = new();
private string _releaseNotes; private string _releaseNotes;
private MudTable<HealthCheckResult> _table;
protected override void OnInitialized() protected override void OnInitialized()
{ {

Loading…
Cancel
Save