const { Client } = require('pg'); async function main() { const client = new Client({ host: process.env.PGHOST || "paddleocr-db", port: parseInt(process.env.PGPORT || "5432"), user: process.env.PGUSER || "postgres", password: process.env.PGPASSWORD || "postgres", database: process.env.PGDATABASE || "dopfm", }); await client.connect(); console.log('Connected to PG database.'); const res = await client.query("SELECT id, filename FROM documents WHERE parsed = false;"); console.log(`Found ${res.rows.length} documents to parse.`); for (let i = 0; i < res.rows.length; i++) { const row = res.rows[i]; console.log(`[${i+1}/${res.rows.length}] Reparsing ${row.filename} (ID: ${row.id})...`); try { const response = await fetch('http://localhost:3000/api/parse', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ filename: row.filename }) }); if (response.ok) { console.log(`Successfully triggered parse for ${row.filename}. Status: ${response.status}`); } else { console.error(`Failed to parse ${row.filename}. Status: ${response.status}, Error: ${await response.text()}`); } } catch (err) { console.error(`Fetch error for ${row.filename}:`, err.message); } } await client.end(); console.log('Done reparsing.'); } main().catch(err => { console.error('Fatal error:', err); process.exit(1); });