From 68c74fc8df2a84760d3c813dc731ae56308005ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Kr=C3=BCger?= Date: Thu, 12 Mar 2026 10:04:24 +0100 Subject: [PATCH] fix: treat NULL premium as non-premium for logged-out video list Co-Authored-By: Claude Sonnet 4.6 --- packages/backend/src/graphql/resolvers/videos.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/backend/src/graphql/resolvers/videos.ts b/packages/backend/src/graphql/resolvers/videos.ts index 3309a5e..ec160ff 100644 --- a/packages/backend/src/graphql/resolvers/videos.ts +++ b/packages/backend/src/graphql/resolvers/videos.ts @@ -28,6 +28,8 @@ import { lt, gte, arrayContains, + isNull, + or, type SQL, } from "drizzle-orm"; import { requireAdmin } from "../../lib/acl"; @@ -101,7 +103,7 @@ builder.queryField("videos", (t) => const offset = args.offset ?? 0; const conditions: SQL[] = [lte(videos.upload_date, new Date())]; - if (!ctx.currentUser) conditions.push(eq(videos.premium, false)); + if (!ctx.currentUser) conditions.push(or(eq(videos.premium, false), isNull(videos.premium))!); if (args.featured !== null && args.featured !== undefined) { conditions.push(eq(videos.featured, args.featured)); }