/**
 * Routes pour le tirage au sort du gros lot
 */
import { Router } from 'express';
import * as drawController from '../controllers/draw.controller.js';
import { authenticateToken, authorizeRoles } from '../middleware/auth.js';

const router = Router();

// Toutes les routes nécessitent une authentification et le rôle ADMIN
router.use(authenticateToken);
router.use(authorizeRoles('ADMIN'));

// Récupérer les participants éligibles
router.get('/eligible-participants', drawController.getEligibleParticipants);

// Vérifier si un tirage existe déjà
router.get('/check-existing', drawController.checkExistingDraw);

// Lancer le tirage au sort
router.post('/conduct', drawController.conductDraw);

// Historique des tirages
router.get('/history', drawController.getDrawHistory);

// Marquer comme notifié
router.put('/:id/notify', drawController.markAsNotified);

// Marquer comme récupéré
router.put('/:id/claim', drawController.markAsClaimed);

// Générer un rapport
router.get('/:id/report', drawController.generateReport);

// Annuler/Supprimer un tirage
router.delete('/:id', drawController.deleteDraw);

export default router;
