Initial commit
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
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;
|
||||
};
|
||||
Reference in New Issue
Block a user