const express = require('express'); const router = express.Router(); // Modello Mongoose per le Scommesse const Bet = require('../models/bet.model'); // Il router รจ ora una factory function che riceve l'istanza di sequelize module.exports = (sequelize) => { const { populateBetsWithUsers } = require('../utils/populateBets')(sequelize); // POST /api/bets router.post('/', async (req, res) => { try { const betData = req.body; // Assicura che gli ID utente dal frontend siano correttamente parsati come interi per lo schema MongoDB const participants = betData.participants.map(p => ({ ...p, user: parseInt(p.user, 10) })); const bet = new Bet({ ...betData, participants, startDate: new Date(), status: 'ACTIVE' }); await bet.save(); // Popola nuovamente la scommessa creata per restituire oggetti utente completi const populatedMongoBet = await Bet.findById(bet._id); const finalBet = (await populateBetsWithUsers([populatedMongoBet]))[0]; res.status(201).json(finalBet); } catch (error) { res.status(400).json({ message: 'Error creating bet', error: error.message }); } }); return router; };