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.

41 lines
879 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('/auth', require('./auth'))
router.use('/users/', require('./users'))
router.use('/items/', require('./items'))
router.use('/images/', require('./images'))
router.use('/categories/', require('./categories'))
router.get('/', (req, res)=>{
res.json({test: true})
})
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
})
})