37 lines
1.0 KiB
JavaScript
37 lines
1.0 KiB
JavaScript
import { pool } from '../db.js';
|
|
|
|
async function test() {
|
|
const result = await pool.query(`
|
|
SELECT
|
|
p.*,
|
|
COALESCE(COUNT(t.id), 0) as total_tickets,
|
|
COALESCE(COUNT(CASE WHEN t.played_at IS NOT NULL THEN 1 END), 0) as tickets_used,
|
|
COALESCE(COUNT(t.id), 0) as initial_stock
|
|
FROM prizes p
|
|
LEFT JOIN tickets t ON p.id = t.prize_id
|
|
WHERE p.name = 'An de thé'
|
|
GROUP BY p.id
|
|
`);
|
|
|
|
// Transform like the controller does
|
|
const row = result.rows[0];
|
|
const transformed = {
|
|
...row,
|
|
initialStock: parseInt(row.initial_stock) || 0,
|
|
ticketsUsed: parseInt(row.tickets_used) || 0,
|
|
isActive: row.is_active,
|
|
createdAt: row.created_at,
|
|
updatedAt: row.updated_at,
|
|
};
|
|
|
|
console.log('\n✅ Transformed response for "An de thé":');
|
|
console.log(' initialStock:', transformed.initialStock);
|
|
console.log(' stock:', transformed.stock);
|
|
console.log(' ticketsUsed:', transformed.ticketsUsed);
|
|
console.log('');
|
|
|
|
await pool.end();
|
|
}
|
|
|
|
test().catch(console.error);
|