the-tip-top-backend/scripts/test-camelcase.js
2025-11-17 23:47:54 +01:00

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