26 lines
775 B
JavaScript
26 lines
775 B
JavaScript
import express from "express";
|
|
import { pool } from "../db.js";
|
|
|
|
const router = express.Router();
|
|
|
|
// Validation d'un code
|
|
router.post("/validate", async (req, res) => {
|
|
const { code } = req.body;
|
|
if (!code || code.length !== 10)
|
|
return res.status(400).json({ message: "Code invalide" });
|
|
|
|
const result = await pool.query("SELECT * FROM tickets WHERE code=$1", [code]);
|
|
if (!result.rows.length)
|
|
return res.status(404).json({ message: "Code inconnu" });
|
|
|
|
const ticket = result.rows[0];
|
|
|
|
if (ticket.is_used)
|
|
return res.status(400).json({ message: "Code déjà utilisé" });
|
|
|
|
await pool.query("UPDATE tickets SET is_used=true, used_at=NOW() WHERE code=$1", [code]);
|
|
res.json({ message: "Bravo !", lot: ticket.lot_type });
|
|
});
|
|
|
|
export default router;
|