Files
znakovni.hr/packages/backend/scripts/insert-gif-test.ts
johnny2211 52e91b5ea6 Add GIF regeneration and diagnostic scripts
Added utility scripts for GIF management:

1. regenerate-all-gifs.ts:
   - Regenerates GIF previews for all existing videos
   - Deletes old GIFs before creating new ones
   - Provides progress feedback and summary statistics
   - Useful for bulk GIF generation after deployment

2. check-gifs.ts:
   - Quick diagnostic to list all GIF records in database
   - Shows term names and GIF URLs
   - Useful for verifying GIF generation

3. insert-gif-test.ts:
   - Test script to verify GIF enum value works in database
   - Creates, verifies, and cleans up test GIF record
   - Includes Prisma query logging for debugging

Usage:
  cd packages/backend
  npx tsx scripts/regenerate-all-gifs.ts
  npx tsx scripts/check-gifs.ts
  npx tsx scripts/insert-gif-test.ts

Co-Authored-By: Auggie
2026-01-18 18:24:00 +01:00

54 lines
1.2 KiB
TypeScript

import { PrismaClient, MediaKind } from '@prisma/client';
const prisma = new PrismaClient({
log: ['query', 'info', 'warn', 'error'],
});
async function testInsert() {
console.log('Testing GIF insert...\n');
try {
// Get first video
const video = await prisma.termMedia.findFirst({
where: { kind: MediaKind.VIDEO },
});
if (!video) {
console.log('No video found');
return;
}
console.log(`Found video: ${video.url}`);
console.log(`Term ID: ${video.termId}\n`);
// Try to insert GIF
const gif = await prisma.termMedia.create({
data: {
termId: video.termId,
kind: MediaKind.GIF,
url: '/uploads/gifs/test.gif',
},
});
console.log('✅ GIF created:', gif);
// Verify it exists
const check = await prisma.termMedia.findUnique({
where: { id: gif.id },
});
console.log('\n✅ Verification:', check);
// Clean up
await prisma.termMedia.delete({ where: { id: gif.id } });
console.log('\n✅ Cleaned up test record');
} catch (error) {
console.error('❌ Error:', error);
} finally {
await prisma.$disconnect();
}
}
testInsert();