user select
This commit is contained in:
parent
3db7d0d0f0
commit
72e9e16de3
|
@ -53,18 +53,24 @@ router.use('/:recepieId/categories/', categoriesRouter);
|
|||
|
||||
|
||||
/* GET recepies listing. */
|
||||
/* Gesucht wird in Rezept, Zutaten und Beschreibung */
|
||||
router.get('/', function(req, res, next) {
|
||||
let query = " Select rezept.id, rezept.schluessel, schwierigkeit, schwierigkeit.name as schwierigkeitName, rezept.name, portionen, nutzer, rezept.beschreibung, "+
|
||||
" (SELECT sum(dauer) FROM rezept_dauer WHERE rezept = rezept.id) as overall_duration, "+
|
||||
" (SELECT round(avg(wert),1) FROM rezept_wertung WHERE rezept = rezept.id) as rating, "+
|
||||
" array_agg(kategorie.name) as categories," +
|
||||
" array_agg(kategorie.id) as categorieids" +
|
||||
" (SELECT sum(dauer) FROM rezept_dauer WHERE rezept = rezept.id) as overall_duration, "+
|
||||
" (SELECT round(avg(wert),1) FROM rezept_wertung WHERE rezept = rezept.id) as rating, "+
|
||||
" array_agg(kategorie.name) as categories," +
|
||||
" array_agg(kategorie.id) as categorieids" +
|
||||
|
||||
" FROM rezept JOIN schwierigkeit on schwierigkeit = schwierigkeit.id "+
|
||||
" LEFT JOIN rezept_kategorie ON rezept.id = rezept" +
|
||||
" LEFT JOIN kategorie on kategorie.id = kategorie ";
|
||||
if(req.query.term) query += " WHERE rezept.name ilike '%"+req.query.term+"%' "
|
||||
if(req.query.hashtag) query += " WHERE rezept.schluessel ilike '"+req.query.hashtag+"' "
|
||||
" FROM rezept JOIN schwierigkeit on schwierigkeit = schwierigkeit.id "+
|
||||
" LEFT JOIN rezept_kategorie ON rezept.id = rezept" +
|
||||
" LEFT JOIN kategorie on kategorie.id = kategorie "+
|
||||
" WHERE 1 = 1 ";
|
||||
if(req.query.term) query += " AND rezept.name ilike '%"+req.query.term+
|
||||
"%' OR rezept.beschreibung ilike '%"+req.query.term+"%' "+
|
||||
" OR rezept.id in (select rezept from rezept_zutat where zutat in (select id from zutat where name ilike '%"+req.query.term+"%'))";
|
||||
if(req.query.hashtag) query += " AND rezept.schluessel ilike '"+req.query.hashtag+"' "
|
||||
if(req.query.cat) query += " AND kategorie.id IN ("+req.query.cat+")"
|
||||
if(req.query.usr) query += " AND nutzer IN ("+req.query.usr+")"
|
||||
|
||||
query += " GROUP BY 1,2,3,4,5,6,7"
|
||||
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
const express = require('express');
|
||||
const router = express.Router();
|
||||
|
||||
const DEBUG = false;
|
||||
const DEBUG = true;
|
||||
|
||||
|
||||
|
||||
router.param('userId', function(req, res, next, id) {
|
||||
req.userId = id;
|
||||
let query = "Select id, name, email, kennwort, beschreibung FROM nutzer WHERE id ="+req.userId;
|
||||
if(isNaN(req.userId)) query = "Select id, name, email, kennwort, beschreibung FROM nutzer WHERE email ilike '"+req.userId+"'";
|
||||
let query = "Select id, name, email, kennwort, beschreibung FROM nutzer WHERE id ="+req.userId+" ORDER BY name";
|
||||
if(isNaN(req.userId)) query = "Select id, name, email, kennwort, beschreibung FROM nutzer WHERE email ilike '"+req.userId+"'"+" ORDER BY name";
|
||||
if(DEBUG) console.log(query);
|
||||
req.db.query(query, (err, rs) => {
|
||||
if (err) {
|
||||
|
@ -21,7 +21,9 @@ router.param('userId', function(req, res, next, id) {
|
|||
|
||||
/* GET users listing. */
|
||||
router.get('/', function(req, res, next) {
|
||||
let query = "Select id, name, email, beschreibung FROM nutzer ";
|
||||
let query = "Select id, name, email, beschreibung FROM nutzer ORDER BY name";
|
||||
if(!isNaN(req.query.active) && req.query.active==1) query = "Select id, name, email, beschreibung FROM nutzer where id in (select nutzer from rezept) ORDER BY name";
|
||||
if(DEBUG) console.log("Request", req.query.active);
|
||||
if(DEBUG) console.log(query);
|
||||
req.db.query(query, (err, rs) => {
|
||||
if (err){
|
||||
|
|
Loading…
Reference in New Issue