diff --git a/back/src/controllers/participant.controller.js b/back/src/controllers/participant.controller.js index 1ccc9ac30cdc777ea833f06d6e4395c382c4f721..6e0e37c8c3652ecd4d27f8cbc38a836d94d03ef5 100644 --- a/back/src/controllers/participant.controller.js +++ b/back/src/controllers/participant.controller.js @@ -13,101 +13,104 @@ const dbConfig = { database: dbdatabase }; -function getClassementIndividuel(req, res){ +function getClassementIndividuel(req, res) { var con = mysql.createConnection(dbConfig); var query = "SELECT Participant.id as id, Participant.name as name, score, Equipe.name AS equipe_name FROM Score JOIN Participant ON Participant.id=Score.participantId JOIN Equipe ON Score.equipeId = Equipe.id WHERE Score.deleted = 0 AND Participant.deleted=0 ORDER BY score DESC;" con.connect(); con.query(query, (err, result) => { - if(err){ + if (err) { console.log(err) - return res.send({success: false}) - } - let leader_indiv={}; - for(const data of result){ - if(data.id in leader_indiv){ - if (leader_indiv[data.id].equipes.indexOf(data.equipe_name) == -1) { - leader_indiv[data.id].equipes.unshift(data.equipe_name);} - leader_indiv[data.id].score += data.score; - leader_indiv[data.id].nbScores += 1; - }else{ - leader_indiv[data.id] = { - name: data.name, - id: data.id, - score: data.score, - equipes: [data.equipe_name], - nbScores: 1, + return res.send({ success: false }) + } + let leader_indiv = {}; + for (const data of result) { + if (data.id in leader_indiv) { + if (leader_indiv[data.id].equipes.indexOf(data.equipe_name) == -1) { + leader_indiv[data.id].equipes.unshift(data.equipe_name); + } + leader_indiv[data.id].score += data.score; + leader_indiv[data.id].nbScores += 1; + } else { + leader_indiv[data.id] = { + name: data.name, + id: data.id, + score: data.score, + equipes: [data.equipe_name], + nbScores: 1, + } } } - } - result = Object.keys(leader_indiv).map((key) => leader_indiv[key]) - result.sort((a,b) => (a.score < b.score) ? 1 : -1) - return res.send(result) + result = Object.keys(leader_indiv).map((key) => leader_indiv[key]) + result.sort((a, b) => (a.score < b.score) ? 1 : -1) + return res.send(result) }); con.end(); } -function getNombreParticipants(req, res){ +function getNombreParticipants(req, res) { var con = mysql.createConnection(dbConfig); var query = "SELECT COUNT(id) as nombreParticipants FROM Participant WHERE deleted = 0;" con.connect(); con.query(query, (err, result) => { - if(err){ + if (err) { console.log(err) - return res.send({success: false}) - } - return res.send(result) + return res.send({ success: false }) + } + return res.send(result) }); con.end(); } -function getParticipants(req, res){ +function getParticipants(req, res) { var con = mysql.createConnection(dbConfig); var query = "SELECT id,name FROM Participant WHERE deleted = 0 ORDER BY NAME ASC;" con.connect(); con.query(query, (err, result) => { - if(err){ + if (err) { console.log(err) - return res.send({success: false}) - } - return res.send(result) + return res.send({ success: false }) + } + return res.send(result) }); con.end(); } -function getParticipantsIdentifiants(req, res){ +function getParticipantsIdentifiants(req, res) { var con = mysql.createConnection(dbConfig); var query = "SELECT id FROM Participant WHERE deleted = 0;" con.connect(); con.query(query, (err, result) => { - if(err){ + if (err) { console.log(err) - return res.send({success: false}) - } - return res.send(result) + return res.send({ success: false }) + } + return res.send(result) }); con.end(); } -function getParticipantsById(req, res){ +function getParticipantsById(req, res) { var con = mysql.createConnection(dbConfig); - var query = "SELECT id,name FROM Participant WHERE deleted = 0 AND id = '"+req.query.id+"' ORDER BY NAME ASC;" + var query = "SELECT id,name FROM Participant WHERE deleted = 0 AND id = ? ORDER BY NAME ASC;" + var inserts = [req.query.id]; con.connect(); - con.query(query, (err, result) => { - if(err){ + con.query(query, inserts, (err, result) => { + if (err) { console.log(err) - return res.send({success: false}) - } - return res.send(result) + return res.send({ success: false }) + } + return res.send(result) }); con.end(); } -function getResultatsPersonnels(req, res){ +function getResultatsPersonnels(req, res) { var con = mysql.createConnection(dbConfig); - var query = "SELECT Participant.id as id, Participant.name as name, score, Equipe.name AS equipe_name, createdAt AS date FROM Score JOIN Participant ON Participant.id=Score.participantId JOIN Equipe ON Score.equipeId = Equipe.id WHERE (Score.deleted = 0 AND ( Participant.deleted=0 AND Participant.id='"+req.query.id+"')) ORDER BY date ASC;" + var query = "SELECT Participant.id as id, Participant.name as name, score, Equipe.name AS equipe_name, createdAt AS date FROM Score JOIN Participant ON Participant.id=Score.participantId JOIN Equipe ON Score.equipeId = Equipe.id WHERE (Score.deleted = 0 AND ( Participant.deleted=0 AND Participant.id=?)) ORDER BY date ASC;" + var inserts = [req.query.id]; con.connect(); - con.query(query, (err, result) => { - if(err){ + con.query(query, inserts, (err, result) => { + if (err) { console.log(err); return res.send( { @@ -118,91 +121,95 @@ function getResultatsPersonnels(req, res){ distMoy: 0, } ) - }; - let leader_indiv={ - dataperf: [], - distTotale: 0, - distMax: 0, - nbScores: 0, - distMoy: 0, - }; - for(const data of result){ - //if(Object.keys(leader_indiv).length > 0){ - if((leader_indiv.dataperf).length > 0){ - leader_indiv.distTotale += data.score; - leader_indiv.distMax = Math.max(data.score,leader_indiv.distMax); - leader_indiv.nbScores += 1; - leader_indiv.distMoy = leader_indiv.distTotale/leader_indiv.nbScores; - }else{ - leader_indiv = { - dataperf: result, - distTotale: data.score, - distMax: data.score, - nbScores: 1, - distMoy: data.score, + }; + let leader_indiv = { + dataperf: [], + distTotale: 0, + distMax: 0, + nbScores: 0, + distMoy: 0, + }; + for (const data of result) { + //if(Object.keys(leader_indiv).length > 0){ + if ((leader_indiv.dataperf).length > 0) { + leader_indiv.distTotale += data.score; + leader_indiv.distMax = Math.max(data.score, leader_indiv.distMax); + leader_indiv.nbScores += 1; + leader_indiv.distMoy = leader_indiv.distTotale / leader_indiv.nbScores; + } else { + leader_indiv = { + dataperf: result, + distTotale: data.score, + distMax: data.score, + nbScores: 1, + distMoy: data.score, + } } } - } - //result = Object.keys(leader_indiv).map((key) => leader_indiv[key]) - return res.send(leader_indiv) + //result = Object.keys(leader_indiv).map((key) => leader_indiv[key]) + return res.send(leader_indiv) }); con.end(); } -function addNewParticipant(req, res){ +function addNewParticipant(req, res) { var con = mysql.createConnection(dbConfig); - var query = "INSERT INTO `Participant` (`name`) VALUES ('"+req.body.name+"');" + var query = "INSERT INTO `Participant` (`name`) VALUES (?);" + var inserts = [req.body.name]; con.connect(); - con.query(query, (err, result) => { - if(err){ + con.query(query, inserts, (err, result) => { + if (err) { console.log(err) - return res.send({success: false}) - } - return res.send(result) + return res.send({ success: false }) + } + return res.send(result) }); con.end(); } -function addNewParticipantWithId(req, res){ +function addNewParticipantWithId(req, res) { var con = mysql.createConnection(dbConfig); - var query = "INSERT IGNORE INTO `Participant` (`id`, `name`) VALUES ('"+req.body.id+"','"+req.body.name+"');" + var query = "INSERT IGNORE INTO `Participant` (`id`, `name`) VALUES (?,?);" + var inserts = [req.body.id, req.body.name]; con.connect(); - con.query(query, (err, result) => { - if(err){ + con.query(query, inserts, (err, result) => { + if (err) { console.log(err) - return res.send({success: false}) - } - return res.send(result) + return res.send({ success: false }) + } + return res.send(result) }); con.end(); } -function updateParticipant(req, res){ +function updateParticipant(req, res) { var con = mysql.createConnection(dbConfig); - var query = "UPDATE Participant SET name = '"+req.body.name+"' WHERE id="+req.body.id+";" + var query = "UPDATE Participant SET name = ? WHERE id=?;" + var inserts = [req.body.name, req.body.id]; con.connect(); - con.query(query, (err, result) => { - if(err){ + con.query(query, inserts, (err, result) => { + if (err) { console.log(err) - return res.send({success: false}) - } - return res.send(result) + return res.send({ success: false }) + } + return res.send(result) }); con.end(); } -function deleteParticipant(req, res){ +function deleteParticipant(req, res) { var con = mysql.createConnection(dbConfig); - var query = "UPDATE Participant SET deleted = 1 WHERE id='"+req.body.id+"';" + var query = "UPDATE Participant SET deleted = 1 WHERE id=?;" + var inserts = [req.body.id]; con.connect(); - con.query(query, (err, result) => { - if(err){ + con.query(query, inserts, (err, result) => { + if (err) { console.log(err) - return res.send({success: false}) - } - return res.send(result) + return res.send({ success: false }) + } + return res.send(result) }); con.end(); } -module.exports = {getClassementIndividuel,getParticipants,addNewParticipant,updateParticipant,deleteParticipant,getNombreParticipants,addNewParticipantWithId,getParticipantsById,getParticipantsIdentifiants,getResultatsPersonnels} +module.exports = { getClassementIndividuel, getParticipants, addNewParticipant, updateParticipant, deleteParticipant, getNombreParticipants, addNewParticipantWithId, getParticipantsById, getParticipantsIdentifiants, getResultatsPersonnels }