diff --git a/server/routes/auth.js b/server/routes/auth.js index a86fca6..53f0e74 100644 --- a/server/routes/auth.js +++ b/server/routes/auth.js @@ -40,4 +40,19 @@ router.get('/logout', (req, res) => { res.sendStatus(200) }) +router.get('/setup', (req, res) => { + db.get('SELECT COUNT(*) as count FROM users', (err, row) => { + if (err) { + logger.error(err) + return res.sendStatus(500) + } + + if (row.count === 0) { + return res.json({ setup: true }) + } else { + return res.json({ setup: false }) + } + }) +}) + module.exports = router diff --git a/server/routes/users.js b/server/routes/users.js index 0f124ad..9efd0eb 100644 --- a/server/routes/users.js +++ b/server/routes/users.js @@ -31,6 +31,10 @@ router.get('/users/current', (req, res) => { }) router.get('/users', (req, res) => { + if (!req.user) { + return res.sendStatus(401) + } + const users = [] db.all('SELECT id, username, name, is_admin as isAdmin, can_upload as canUpload FROM users', (err, rows) => { diff --git a/src/router/index.js b/src/router/index.js index 87fd07c..5a2370d 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -68,9 +68,9 @@ router.beforeEach((to, from, next) => { next('/') }) } else if (to.name === 'Register') { - instance.get('/users') + instance.get('/setup') .then(response => { - if (response.data.users.length !== 0) { + if (!response.data.setup) { next('/') } else { next()