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();
