import { Auteur, Review } from './structures.js'; import conn from './database.js'; const addAuteur = (author) => { return new Promise((resolve,reject) => { const sql = "INSERT INTO auteurs (age, sexe) VALUES (?);" conn.query(sql, [[author.age, author.sexe]], (err, res) => { if(err) { reject(err) }else { resolve(res.insertId); } }) }) } const getSourceId = (source) => { return new Promise((resolve, reject) => { const sql = "SELECT id from sources WHERE nom = ?"; conn.query(sql, [source], (err, res) => { resolve(res[0].id); }) }) } const addReview = (review, authorId, sourceId) => { return new Promise((resolve, reject) => { const sql = "INSERT INTO avis_borne (id_auteur, note_principale, notes_autre, commentaire, source_id) VALUES (?);" conn.query(sql, [[authorId, review.note, JSON.stringify(review.notesAutre), review.commentaire, sourceId]], (err, res) => { if(err) { reject(err) }else { resolve(res.insertId); } }) }) } export const addReviewFromRequest = async (req,res) => { try { let notes_autre = {} try{ notes_autre = JSON.parse(req.body.notes_autre); }catch(err){}; const author = new Auteur(req.body.auteur_age,req.body.auteur_sexe); const review = new Review(author, req.body.note, req.body.source, req.body.commentaire, notes_autre) let authorId = await addAuteur(author); let sourceId = await getSourceId(review.source); await addReview(review, authorId, sourceId ); res.send("success") }catch(err) { res.status(500).send("Error : " + err.message) } }