mirror of
https://git.roussel.pro/telecom-paris/pact.git
synced 2026-02-09 02:20:17 +01:00
100 lines
3.1 KiB
JavaScript
100 lines
3.1 KiB
JavaScript
import conn from '../database.js';
|
|
|
|
// TODO: Fct qui renvoie les X avis les plus récents, Fct qui renvoie les X dernières stats journalières/hebdo/etc, handler de requète, documenter le format de requête
|
|
const getLastReview = (limit) => {
|
|
return new Promise((resolve, reject) => {
|
|
let sql = `SELECT id,date,note_principale,commentaire,sources.nom as nom_source, borne_auteurs.sexe as sexe_auteur, borne_auteurs.age as age_auteur
|
|
FROM borne_avis
|
|
JOIN sources ON sources.id = source_id
|
|
JOIN borne_auteurs ON borne_auteurs.id = id_auteur
|
|
ORDER BY borne_avis.id DESC LIMIT ?`;
|
|
conn.query(sql, [limit], (err, res) => {
|
|
if(err) {
|
|
reject(err);
|
|
}else {
|
|
resolve(res)
|
|
}
|
|
})
|
|
})
|
|
}
|
|
|
|
const getReviewFromId = (id) => {
|
|
return new Promise((resolve, reject) => {
|
|
let sql = `SELECT * FROM borne_avis WHERE id = ? LIMIT 1`;
|
|
conn.query(sql, [id], (err, res) => {
|
|
if(err) {
|
|
reject(err);
|
|
}else {
|
|
resolve(res)
|
|
}
|
|
})
|
|
})
|
|
}
|
|
const getCriteres = (limit) => {
|
|
return new Promise((resolve, reject) => {
|
|
let sql = `SELECT * FROM borne_criteres`;
|
|
conn.query(sql, [limit], (err, res) => {
|
|
if(err) {
|
|
reject(err);
|
|
}else {
|
|
resolve(res)
|
|
}
|
|
})
|
|
})
|
|
}
|
|
|
|
const getNotesAutresFromCritere = (critere,limit) => {
|
|
return new Promise((resolve, reject) => {
|
|
let sql = `SELECT borne_notes_autre.id,date,borne_criteres.nom as critere, note, avis_id
|
|
FROM borne_notes_autre
|
|
JOIN borne_criteres ON borne_criteres.id = critere_id
|
|
WHERE borne_criteres = ?
|
|
ORDER BY borne_notes_autre.id DESC LIMIT ?;`;
|
|
conn.query(sql, [[critere, limit]], (err, res) => {
|
|
if(err) {
|
|
reject(err);
|
|
}else {
|
|
resolve(res)
|
|
}
|
|
})
|
|
})
|
|
}
|
|
|
|
const getnotesautresfromreview = (reviewid) => {
|
|
return new promise((resolve, reject) => {
|
|
let sql = `select borne_notes_autre.id,borne_criteres.nom as critere, note, avis_id
|
|
from borne_notes_autre
|
|
join borne_criteres on borne_criteres.id = critere_id
|
|
where avis_id = ?
|
|
order by borne_notes_autre.id desc`;
|
|
conn.query(sql, [limit], (err, res) => {
|
|
if(err) {
|
|
reject(err);
|
|
}else {
|
|
resolve(res)
|
|
}
|
|
})
|
|
})
|
|
}
|
|
|
|
|
|
const getStats = (interval, limit) => {
|
|
return new promise((resolve, reject) => {
|
|
let sql = `select borne_notes_autre.id,borne_criteres.nom as critere, note, avis_id
|
|
from borne_notes_autre
|
|
join borne_criteres on borne_criteres.id = critere_id
|
|
where avis_id = ?
|
|
order by borne_notes_autre.id desc`;
|
|
conn.query(sql, [limit], (err, res) => {
|
|
if(err) {
|
|
reject(err);
|
|
}else {
|
|
resolve(res)
|
|
}
|
|
})
|
|
})
|
|
}
|
|
|
|
|
|
|
|
getLastReview(5).then(rows => console.log(rows)) |