Files
pokemon/scripts/list-missing-images.ts

31 lines
978 B
TypeScript

import * as schema from '../src/db/schema.ts';
import { db, ClosePool } from '../src/db/index.ts';
import { sql } from "drizzle-orm";
import fs from "node:fs/promises";
import path from "node:path";
async function findMissingImages() {
const cards = await db
.select()
.from(schema.tcgcards)
.where(sql`${schema.tcgcards.sealed} = false`);
const missingImages: string[] = [];
for (const card of cards) {
const imagePath = path.join(process.cwd(), 'static', 'cards', `${card.productId}.jpg`);
try {
await fs.access(imagePath);
} catch (err) {
missingImages.push(`${card.productId}\t${card.setId}\t${card.productName}\t${card.number}`);
}
}
return missingImages;
}
const missingImages = await findMissingImages();
//console.log("Missing Images:", missingImages.join('\n'));
fs.writeFile(path.join(process.cwd(), 'missing-images.log'), missingImages.join('\n'));
await ClosePool();