From 6301f9e99dd336679bb328b5faa0b6857431b0e2 Mon Sep 17 00:00:00 2001 From: jessikitty Date: Sat, 22 Aug 2026 21:47:28 +1000 Subject: [PATCH] Skip expired Meows in live display and playlist API --- Controllers/DisplayController.cs | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/Controllers/DisplayController.cs b/Controllers/DisplayController.cs index 76311ec..12799af 100644 --- a/Controllers/DisplayController.cs +++ b/Controllers/DisplayController.cs @@ -26,6 +26,12 @@ public class DisplayController : Controller return View("NotFound", devices); } + // Skip expired Meows — expiry is enforced at playback time, not on the stored data + var now = DateTime.Now; + device.DeviceSlides = device.DeviceSlides + .Where(ds => ds.Slide.ExpiresAt == null || ds.Slide.ExpiresAt > now) + .ToList(); + return View(device); } @@ -40,7 +46,10 @@ public class DisplayController : Controller if (device == null) return NotFound(); - var playlist = device.DeviceSlides.Select(ds => new + var now = DateTime.Now; + var playlist = device.DeviceSlides + .Where(ds => ds.Slide.ExpiresAt == null || ds.Slide.ExpiresAt > now) + .Select(ds => new { id = ds.Slide.Id, name = ds.Slide.Name,