From 6435f415b686baf0ce08fb1f619d627872c5f1a8 Mon Sep 17 00:00:00 2001 From: Timo John Date: Tue, 16 Jun 2020 10:56:50 +0200 Subject: [PATCH] Implemented Endpoint for getting all search presets Endpoint for presets works now. For real. Alternative JSON return for presets tested --- Scripts/setup.sql | 1 + backend/models/getSearchPresets.js | 30 ++++++++++++++++++++++++++---- 2 files changed, 27 insertions(+), 4 deletions(-) diff --git a/Scripts/setup.sql b/Scripts/setup.sql index f154ee3..388d42c 100644 --- a/Scripts/setup.sql +++ b/Scripts/setup.sql @@ -1313,6 +1313,7 @@ CREATE TABLE IF NOT EXISTS `search_presets` ( `created_at` timestamp NOT NULL DEFAULT current_timestamp(), `updated_at` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(), PRIMARY KEY (`id`) + UNIQUE INDEX `parameter` (`parameter`, `name`) USING BTREE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; -- Exportiere Daten aus Tabelle travopti.search_presets: ~0 rows (ungefähr) diff --git a/backend/models/getSearchPresets.js b/backend/models/getSearchPresets.js index 3ce091e..3398488 100644 --- a/backend/models/getSearchPresets.js +++ b/backend/models/getSearchPresets.js @@ -1,6 +1,28 @@ module.exports = async (dbConn) => { - // TODO: Implement pulling data from database - const presets = require ("../mockdata/sample-presets.json") - const res = presets - return res; + let presets = await dbConn.query( + `SELECT search_presets.id AS country_id, + search_presets.parameter AS parameter, + search_presets.name AS label, + CASE + WHEN value_2 is NULL THEN value_1 + ELSE CONCAT(search_presets.value_1,"|",search_presets.value_2) + END AS "values" + FROM search_presets` + ); + + //TODO: Which way is preferred? + for (k = 0; k < presets.length; k++) { + //if (presets[k].values.toString().includes("|")) { + const values = presets[k].values + presets[k].values = values.split("|"); + for (i = 0; i < presets[k].values.length; i++) { + console.log(presets[k].values) + presets[k].values[i] = parseInt(presets[k].values[i]) + } + //} else { + // presets[k].values = parseInt(presets[k].values) + //} + console.log(presets[k]) + } + return presets; }; \ No newline at end of file