From d8f018bd07943367fb592e4ae0c6961c59da760f Mon Sep 17 00:00:00 2001 From: Jos Vooges | STH Date: Fri, 18 Sep 2026 19:13:44 +0200 Subject: [PATCH] Allow live channels without ClearKey KID/KEY. Clear DASH streams can be saved with name + MPD only; DRM remains optional. --- apps/admin-ui/src/app/live-lists/page.tsx | 20 ++++-- .../migration.sql | 3 + apps/master-api/prisma/schema.prisma | 8 +-- apps/master-api/src/viewer/live-channels.ts | 69 +++++++++++++------ 4 files changed, 67 insertions(+), 33 deletions(-) create mode 100644 apps/master-api/prisma/migrations/20260918190000_live_channel_optional_clearkey/migration.sql diff --git a/apps/admin-ui/src/app/live-lists/page.tsx b/apps/admin-ui/src/app/live-lists/page.tsx index af5495c..613e9b4 100644 --- a/apps/admin-ui/src/app/live-lists/page.tsx +++ b/apps/admin-ui/src/app/live-lists/page.tsx @@ -235,8 +235,10 @@ export default function LiveListsPage() { if (channelForm.key.trim()) payload.key = channelForm.key.trim(); const isNew = editingChannelId === "new"; - if (isNew && (!payload.kid || !payload.key)) { - throw new Error("KID en KEY zijn verplicht voor een nieuwe zender"); + const kidFilled = !!channelForm.kid.trim(); + const keyFilled = !!channelForm.key.trim(); + if (kidFilled !== keyFilled) { + throw new Error("KID en KEY samen invullen, of beide leeg laten"); } const r = await fetch( @@ -417,24 +419,28 @@ export default function LiveListsPage() { />