From 2f7c1d020d192a187fbbaa30569d57065aacc33f Mon Sep 17 00:00:00 2001 From: Dave Thaler Date: Wed, 9 Oct 2024 07:57:48 -0700 Subject: [PATCH] Show Unauthorized as an S3 stream status Signed-off-by: Dave Thaler --- OrcanodeMonitor/Core/Fetcher.cs | 6 ++++++ OrcanodeMonitor/Models/Orcanode.cs | 5 +++++ OrcanodeMonitor/Pages/Index.cshtml | 2 +- 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/OrcanodeMonitor/Core/Fetcher.cs b/OrcanodeMonitor/Core/Fetcher.cs index 7eb6393..d8dce62 100644 --- a/OrcanodeMonitor/Core/Fetcher.cs +++ b/OrcanodeMonitor/Core/Fetcher.cs @@ -748,6 +748,12 @@ public async static Task UpdateS3DataAsync(OrcanodeMonitorContext context, Orcan node.LatestRecordedUtc = null; return; } + if (response.StatusCode == HttpStatusCode.Forbidden) + { + // Access denied. + node.LatestRecordedUtc = DateTime.MinValue; + return; + } if (!response.IsSuccessStatusCode) { return; diff --git a/OrcanodeMonitor/Models/Orcanode.cs b/OrcanodeMonitor/Models/Orcanode.cs index 2bd2c48..9a95799 100644 --- a/OrcanodeMonitor/Models/Orcanode.cs +++ b/OrcanodeMonitor/Models/Orcanode.cs @@ -18,6 +18,7 @@ public enum OrcanodeOnlineStatus Online, Unintelligible, Hidden, + Unauthorized, } public enum OrcanodeUpgradeStatus { @@ -287,6 +288,10 @@ public OrcanodeOnlineStatus S3StreamStatus { return OrcanodeOnlineStatus.Absent; } + if (LatestRecordedUtc == DateTime.MinValue) + { + return OrcanodeOnlineStatus.Unauthorized; + } if (!ManifestUpdatedUtc.HasValue || !LastCheckedUtc.HasValue) { return OrcanodeOnlineStatus.Absent; diff --git a/OrcanodeMonitor/Pages/Index.cshtml b/OrcanodeMonitor/Pages/Index.cshtml index 39962df..7b766f7 100644 --- a/OrcanodeMonitor/Pages/Index.cshtml +++ b/OrcanodeMonitor/Pages/Index.cshtml @@ -88,7 +88,7 @@ else { - + @Html.DisplayFor(modelItem => item.S3StreamStatus)