diff --git a/server/app.js b/server/app.js index d7ab59d..533b60f 100644 --- a/server/app.js +++ b/server/app.js @@ -1,9 +1,8 @@ const express = require('express') const session = require('express-session') -const FileStore = require('session-file-store')(session); +const FileStore = require('session-file-store')(session) const cors = require('cors') const passport = require('passport') -const path = require('path') const cookieParser = require('cookie-parser') const config = require('config') @@ -22,7 +21,7 @@ app.use(cors(corsOptions)) const fileStoreOptions = { path: config.get('Server.sessionFileStorePath') -}; +} require('./boot/db')() require('./boot/auth')() diff --git a/server/routes/profiles.js b/server/routes/profiles.js index c8dfb41..98607e8 100644 --- a/server/routes/profiles.js +++ b/server/routes/profiles.js @@ -28,31 +28,31 @@ router.post('/profiles', function (req, res, next) { tremolo_frequency, tremolo_depth) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`, [ - req.body.name, - req.user.id, - req.body.isTimerEnabled, - req.body.duration, - req.body.volume, - req.body.noiseColor, - req.body.isFilterEnabled, - req.body.filterType, - req.body.filterCutoff, - req.body.isLFOFilterCutoffEnabled, - req.body.lfoFilterCutoffFrequency, - req.body.lfoFilterCutoffLow, - req.body.lfoFilterCutoffHigh, - req.body.isTremoloEnabled, - req.body.tremoloFrequency, - req.body.tremoloDepth - ], - function (err) { - if (err) { - console.log(err) - return res.sendStatus(500) - } - - res.sendStatus(200) + req.body.name, + req.user.id, + req.body.isTimerEnabled, + req.body.duration, + req.body.volume, + req.body.noiseColor, + req.body.isFilterEnabled, + req.body.filterType, + req.body.filterCutoff, + req.body.isLFOFilterCutoffEnabled, + req.body.lfoFilterCutoffFrequency, + req.body.lfoFilterCutoffLow, + req.body.lfoFilterCutoffHigh, + req.body.isTremoloEnabled, + req.body.tremoloFrequency, + req.body.tremoloDepth + ], + function (err) { + if (err) { + console.log(err) + return res.sendStatus(500) } + + res.sendStatus(200) + } ) }) @@ -73,11 +73,76 @@ router.get('/profiles', function (req, res, next) { rows.forEach((row) => { profiles.push(row.name) console.log(row.name) - }); + }) console.log('PROFILES: ') res.json({ profiles: profiles }) }) }) +router.get('/profiles/:profileId', function (req, res, next) { + if (!req.user) { + return res.sendStatus(401) + } + + const profile = { + name: null, + isTimerEnabled: null, + duration: null, + volume: null, + noiseColor: null, + isFilterEnabled: null, + filterType: null, + isLFOFilterCutoffEnabled: null, + lfoFilterCutoffFrequency: null, + lfoFilterCutoffLow: null, + lfoFilterCutoffHigh: null, + isTremoloEnabled: null, + tremoloFrequency: null, + tremoloDepth: null + } + + db.get(`SELECT + name, + timer_enabled as isTimerEnabled, + duration, + volume, + noise_color as noiseColor, + filter_enabled as isFilterEnabled, + filter_type as filterType, + filter_cutoff as filterCutoff, + lfo_filter_cutoff_enabled as isLFOFilterCutoffEnabled, + lfo_filter_cutoff_frequency as lfoFilterCutoffFrequency, + lfo_filter_cutoff_low as lfoFilterCutoffLow, + lfo_filter_cutoff_high as lfoFilterCutoffHigh, + tremolo_enabled as isTremoloEnabled, + tremolo_frequency as tremoloFrequency, + tremolo_depth as tremoloDepth + FROM profiles WHERE id = ?`, [req.params.profileId], (err, row) => { + if (err) { + console.log('Error getting profile') + console.log(err) + return res.sendStatus(500) + } + + profile.name = row.name + profile.isTimerEnabled = row.isTimerEnabled + profile.duration = row.duration + profile.volume = row.volume + profile.noiseColor = row.noiseColor + profile.isFilterEnabled = row.isFilterEnabled + profile.filterType = row.filterType + profile.isLFOFilterCutoffEnabled = row.isLFOFilterCutoffEnabled + profile.lfoFilterCutoffFrequency = row.lfoFilterCutoffFrequency + profile.lfoFilterCutoffLow = row.lfoFilterCutoffLow + profile.lfoFilterCutoffHigh = row.lfoFilterCutoffHigh + profile.isTremoloEnabled = row.isTremoloEnabled + profile.tremoloFrequency = row.tremoloFrequency + profile.tremoloDepth = row.tremoloDepth + + console.log('PROFILES: ') + res.json({ profile: profile }) + }) +}) + module.exports = router diff --git a/src/components/Noise.vue b/src/components/Noise.vue index 363c3ab..61703b5 100644 --- a/src/components/Noise.vue +++ b/src/components/Noise.vue @@ -21,13 +21,22 @@ Profiles - + + + + + Load Profile + + { if (response.status === 200) { @@ -170,6 +170,17 @@ export default { }) this.profileDialog = false + }, + loadProfile () { + this.$http.get('https://localhost:3000/profiles/'.concat(this.profileItems.indexOf(this.selectedProfile) + 1)) + .then(response => { + if (response.status === 200) { + console.log(response.data.profile) + } + }) + .catch(function (error) { + console.error(error.response) + }) } } }