You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
39 lines
960 B
JavaScript
39 lines
960 B
JavaScript
const {Router} = require('express')
|
|
const pg = require('../db/pg')
|
|
|
|
const router = module.exports = new Router()
|
|
|
|
router.use((req, res, next)=>{
|
|
// Skip pretty-printing if in prod
|
|
if(req.app.locals.dev)
|
|
res.json = (val) => {
|
|
res.set('Content-Type', 'application/json');
|
|
res.end(JSON.stringify(val, null, 2))
|
|
}
|
|
|
|
next()
|
|
})
|
|
|
|
router.use(require('cookie-session')({name: 'sos-session', secret: process.env.COOKIE_SECRET}))
|
|
router.use(require('./middleware/session'))
|
|
router.use('/auth', require('./auth'))
|
|
router.use('/users/', require('./users'))
|
|
router.use('/items/', require('./items'))
|
|
router.use('/images/', require('./images'))
|
|
router.use('/categories/', require('./categories'))
|
|
|
|
router.use((req, res, next)=>{
|
|
const err = new Error('Not found')
|
|
err.status = 404
|
|
return next(err);
|
|
})
|
|
|
|
router.use((err, req, res, next)=> {
|
|
console.error(err.stack)
|
|
|
|
res.status(err.status || 500)
|
|
res.json({
|
|
error: err.message
|
|
})
|
|
})
|