103 lines
3.2 KiB
JavaScript
103 lines
3.2 KiB
JavaScript
const express = require('express');
|
|
const router = express.Router({mergeParams:true});
|
|
|
|
const bcrypt = require('bcrypt');
|
|
const randToken = require('rand-token');
|
|
|
|
const DEBUG = false;
|
|
|
|
router.param('categorieId', function(req, res, next, id) {
|
|
req.categorieId = id;
|
|
let query = " Select rezept_kategorie.id, kategorie, kategorie.name as kategoriename, modifikator, rezept_kategorie.beschreibung "+
|
|
" FROM rezept_kategorie "+
|
|
" JOIN kategorie on kategorie = kategorie.id"+
|
|
" WHERE rezept =$1 AND rezept_kategorie.id = $2";
|
|
if(DEBUG) console.log(query);
|
|
req.db.query(query, [req.recepieId, req.categorieId], (err, rs) => {
|
|
if (err) {
|
|
return next(err)
|
|
}
|
|
req.recepieCategorie = rs.rows[0];
|
|
next();
|
|
})
|
|
});
|
|
|
|
/* GET recepieCategories listing. */
|
|
router.get('/', function(req, res, next) {
|
|
let query = " Select rezept_kategorie.id, kategorie, kategorie.name as kategoriename, modifikator, rezept_kategorie.beschreibung "+
|
|
" FROM rezept_kategorie "+
|
|
" JOIN kategorie on kategorie = kategorie.id"+
|
|
" WHERE rezept =$1"+
|
|
" ORDER BY modifikator";
|
|
if(DEBUG) console.log(query);
|
|
req.db.query(query,[req.recepieId], (err, rs) => {
|
|
if (err){
|
|
next(err);
|
|
} else {
|
|
let result = {};
|
|
result['recepieCategories'] = rs.rows;
|
|
console.log(result);
|
|
res.status(200).json(result);
|
|
}
|
|
});
|
|
});
|
|
|
|
router.post('/', function(req, res, next) {
|
|
let recepieCategorie = req.body.recepieCategories[0];
|
|
if(!recepieCategorie.kategorie) {
|
|
return res.status(400).send("Wrong Params")
|
|
}
|
|
|
|
if (!recepieCategorie.modifikator) recepieCategorie.modifikator = 1;
|
|
let query = "INSERT INTO rezept_kategorie (rezept, kategorie, modifikator, beschreibung) "+
|
|
" VALUES ($1, $2, $3, $4)" +
|
|
" returning *";
|
|
let values = [req.recepieId, recepieCategorie.kategorie, recepieCategorie.modifikator, recepieCategorie.beschreibung];
|
|
|
|
if(DEBUG) console.log(query);
|
|
|
|
req.db.query(query, values, (err, rs) => {
|
|
if (err){
|
|
next(err);
|
|
} else {
|
|
let result = {};
|
|
result['recepieCategories'] = rs.rows[0];
|
|
res.status(200).json(result);
|
|
}
|
|
});
|
|
});
|
|
|
|
/* Methods with id */
|
|
router.get('/:categorieId', function(req, res, next) {
|
|
res.status(200).json(req.recepieCategorie);
|
|
});
|
|
|
|
router.put('/:categorieId', function(req, res, next) {
|
|
let recepieCategorie = req.body.recepieCategories[0];
|
|
let query = "UPDATE rezept_kategorie set kategorie = $1, modifikator =$2, beschreibung =$3"+
|
|
" WHERE id = "+req.categorieId +
|
|
" returning *";
|
|
let values = [recepieCategorie.kategorie, recepieCategorie.modifikator, recepieCategorie.beschreibung];
|
|
|
|
if(DEBUG) console.log(query);
|
|
req.db.query(query, values, (err, rs) => {
|
|
if (err){
|
|
next(err);
|
|
} else {
|
|
let result = {};
|
|
result['recepieCategories'] = rs.rows[0];
|
|
res.status(200).json(result);
|
|
}
|
|
});
|
|
});
|
|
|
|
router.delete('/:categorieId', function(req, res, next) {
|
|
let query = "DELETE FROM rezept_kategorie where id = $1;";
|
|
req.db.query(query, [req.categorieId], (err, rs) => {
|
|
if (err) next(err)
|
|
});
|
|
res.status(204).send();
|
|
});
|
|
|
|
module.exports = router;
|