From 9068ffe494667e5a8d91e82f93cba54348507872 Mon Sep 17 00:00:00 2001 From: Kevin Thomas Date: Sat, 31 Jul 2021 15:32:35 -0700 Subject: [PATCH] Add framework for profiles endpoint --- server/app.js | 2 ++ server/boot/db.js | 2 +- server/routes/profiles.js | 51 +++++++++++++++++++++++++++++++++++++++ 3 files changed, 54 insertions(+), 1 deletion(-) create mode 100644 server/routes/profiles.js diff --git a/server/app.js b/server/app.js index aac7d0a..df60cc1 100644 --- a/server/app.js +++ b/server/app.js @@ -9,6 +9,7 @@ const config = require('config') const authRouter = require('./routes/auth') const usersRouter = require('./routes/users') +const profilesRouter = require('./routes/profiles') const app = express() @@ -43,5 +44,6 @@ app.use(passport.authenticate('session')) // Define routes app.use('/', authRouter) app.use('/users', usersRouter) +app.use('/profiles', profilesRouter) module.exports = app diff --git a/server/boot/db.js b/server/boot/db.js index 4927004..486149a 100644 --- a/server/boot/db.js +++ b/server/boot/db.js @@ -12,6 +12,7 @@ module.exports = function () { db.run(`CREATE TABLE IF NOT EXISTS profiles ( name TEXT UNIQUE, + user INTEGER, timer_enabled INTEGER, timer_seconds INTEGER, volume INTEGER, @@ -26,7 +27,6 @@ module.exports = function () { tremolo_enabled INTEGER, tremolo_frequency REAL, tremolo_depth REAL, - user INTEGER, FOREIGN KEY(user) REFERENCES user(id))` ) }) diff --git a/server/routes/profiles.js b/server/routes/profiles.js new file mode 100644 index 0000000..e8b5c11 --- /dev/null +++ b/server/routes/profiles.js @@ -0,0 +1,51 @@ +const express = require('express') +const db = require('../db') + +const router = express.Router() + +router.post('/', function (req, res, next) { + if (!req.user) { + res.sendStatus(401) + } + + db.run(`INSERT INTO profiles ( + name, + user, + timer_enabled, + timer_seconds, + volume, + noise_color, + filter_enabled, + filter_type, + filter_cutoff, + filter_cutoff_lfo_enabled, + filter_cutoff_lfo_rate, + filter_cutoff_lfo_min, + filter_cutoff_lfo_max, + tremolo_enabled, + tremolo_frequency, + tremolo_depth) + VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`, [ + req.body.name, + req.user.id, + req.body.timerEnabled, + req.body.timerSeconds, + req.body.volume, + req.body.noiseColor, + req.body.filterEnabled, + req.body.filterType, + req.body.filterCutoff, + req.body.filterCutoffLFOEnabled, + req.body.filterCutoffLFORate, + req.body.filterCutoffLFOMin, + req.body.filterCutoffLFOMax, + req.body.tremoloEnabled, + req.body.tremoloFrequency, + req.body.tremoloDepth + ], + function (err) { + // TODO: Handle error + console.log(err) + } + ) +})