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