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;