-- Unify IPTV ownership under ViewerUser (Option C); keep legacy addon-token lines. ALTER TABLE "iptv_lines" ADD COLUMN IF NOT EXISTS "viewer_user_id" TEXT; ALTER TABLE "iptv_lines" ALTER COLUMN "addon_token_id" DROP NOT NULL; CREATE UNIQUE INDEX IF NOT EXISTS "iptv_lines_viewer_user_id_key" ON "iptv_lines"("viewer_user_id"); ALTER TABLE "addon_tokens" ADD COLUMN IF NOT EXISTS "viewer_user_id" TEXT; CREATE INDEX IF NOT EXISTS "addon_tokens_viewer_user_id_idx" ON "addon_tokens"("viewer_user_id"); -- Gebruikers die via legacy iptvAddonTokenId wezen → eigenaar van die lijn UPDATE "iptv_lines" AS l SET "viewer_user_id" = v."id" FROM "viewer_users" AS v WHERE v."iptv_addon_token_id" IS NOT NULL AND v."iptv_addon_token_id" = l."addon_token_id" AND l."viewer_user_id" IS NULL; -- Stremio-addons die die gebruikers gebruikten → koppel aan gebruiker UPDATE "addon_tokens" AS t SET "viewer_user_id" = v."id" FROM "viewer_users" AS v WHERE v."iptv_addon_token_id" IS NOT NULL AND v."iptv_addon_token_id" = t."id" AND t."viewer_user_id" IS NULL; DO $$ BEGIN ALTER TABLE "iptv_lines" ADD CONSTRAINT "iptv_lines_viewer_user_id_fkey" FOREIGN KEY ("viewer_user_id") REFERENCES "viewer_users"("id") ON DELETE CASCADE ON UPDATE CASCADE; EXCEPTION WHEN duplicate_object THEN NULL; END $$; DO $$ BEGIN ALTER TABLE "addon_tokens" ADD CONSTRAINT "addon_tokens_viewer_user_id_fkey" FOREIGN KEY ("viewer_user_id") REFERENCES "viewer_users"("id") ON DELETE SET NULL ON UPDATE CASCADE; EXCEPTION WHEN duplicate_object THEN NULL; END $$;