61 lines
1.5 KiB
JavaScript
61 lines
1.5 KiB
JavaScript
const express = require('express');
|
|
const router = express.Router({mergeParams:true});
|
|
|
|
|
|
const randToken = require('rand-token');
|
|
|
|
const DEBUG = true;
|
|
|
|
|
|
/* GET recepieVotes listing. */
|
|
router.get('/', function(req, res, next) {
|
|
let query = "SELECT avg(wert) as wertung FROM rezept_wertung WHERE rezept = $1";
|
|
let values = [req.recepieId];
|
|
|
|
|
|
req.db.query(query, values, (err, rs) => {
|
|
if (err){
|
|
next(err);
|
|
} else {
|
|
let result = {};
|
|
result['recepieVotes'] = rs.rows[0];
|
|
res.status(200).json(result);
|
|
}
|
|
});
|
|
});
|
|
|
|
router.post('/', function(req, res, next) {
|
|
let recepieVote = req.body.recepieVote;
|
|
if(!recepieVote.wert) {
|
|
return res.status(400).send("Wrong Params")
|
|
}
|
|
|
|
if (!recepieVote.nutzer) recepieVote.nutzer = 0;
|
|
let query = "INSERT INTO rezept_wertung (rezept, wertungkategorie, nutzer, wert, beschreibung) "+
|
|
" VALUES ($1, (SELECT id from wertungkategorie where schluessel = 'sum'), $2, $3, $4)";
|
|
let values = [req.recepieId, recepieVote.nutzer, recepieVote.wert, recepieVote.beschreibung];
|
|
if(DEBUG) console.log(query);
|
|
req.db.query(query, values, (err, rs) => {
|
|
if (err) {
|
|
next(err);
|
|
} else {
|
|
query = "SELECT avg(wert) as rating FROM rezept_wertung WHERE rezept = $1";
|
|
values = [req.recepieId];
|
|
|
|
|
|
req.db.query(query, values, (err, rs) => {
|
|
if (err){
|
|
next(err);
|
|
} else {
|
|
let result = {};
|
|
result = rs.rows[0];
|
|
res.status(200).json(result);
|
|
}
|
|
});
|
|
}
|
|
});
|
|
|
|
});
|
|
|
|
module.exports = router;
|