Files
2026-03-26 22:46:03 +01:00

40 lines
1.3 KiB
JavaScript

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