mirror of
https://github.com/kaythomas0/noisedash.git
synced 2025-11-11 19:06:20 +00:00
65 lines
1.3 KiB
JavaScript
65 lines
1.3 KiB
JavaScript
const express = require('express')
|
|
const passport = require('passport')
|
|
const db = require('../db')
|
|
const router = express.Router()
|
|
const logger = require('../logger')
|
|
|
|
router.post('/login/password', passport.authenticate('local'), (req, res, next) => {
|
|
return res.send('Authenticated and logged in')
|
|
})
|
|
|
|
router.get('/auth', (req, res) => {
|
|
if (req.user) {
|
|
res.sendStatus(200)
|
|
} else {
|
|
res.sendStatus(401)
|
|
}
|
|
})
|
|
|
|
router.get('/admin', (req, res) => {
|
|
if (!req.user) {
|
|
return res.sendStatus(401)
|
|
}
|
|
|
|
db.get('SELECT is_admin FROM users WHERE id = ?', [req.user.id], (err, row) => {
|
|
if (err) {
|
|
logger.error(err)
|
|
return res.sendStatus(500)
|
|
}
|
|
|
|
if (row.is_admin === 0) {
|
|
res.sendStatus(401)
|
|
} else {
|
|
res.sendStatus(200)
|
|
}
|
|
})
|
|
})
|
|
|
|
router.get('/logout', (req, res) => {
|
|
req.logout((err) => {
|
|
if (err) {
|
|
logger.error(err)
|
|
res.sendStatus(500)
|
|
} else {
|
|
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
|