31 lines
978 B
TypeScript
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();
|