mirror of
https://github.com/advplyr/audiobookshelf.git
synced 2026-07-07 18:01:42 +00:00
31 lines
1,011 B
JavaScript
31 lines
1,011 B
JavaScript
'use strict'
|
|
|
|
const express = require('express')
|
|
|
|
const requireAuth = (req, res, next) => {
|
|
if (req.user && req.user.id) return next()
|
|
return res.status(401).send('Unauthorized')
|
|
}
|
|
|
|
module.exports = ({ manager, featureFlag } = {}) => {
|
|
const router = express.Router()
|
|
|
|
const isEnabled = typeof featureFlag === 'function' ? featureFlag : () => String(process.env.RECOMMENDATIONS_ENABLED) === 'true'
|
|
|
|
router.use((req, res, next) => {
|
|
if (!isEnabled()) return res.status(501).json({ message: 'Recommendations disabled' })
|
|
next()
|
|
})
|
|
|
|
const Controller = require('../controllers/recommendationsController')(manager)
|
|
|
|
router.get('/tags', Controller.listTags)
|
|
router.post('/', requireAuth, Controller.create)
|
|
router.get('/book/:bookId', Controller.byBook)
|
|
router.get('/inbox', requireAuth, Controller.inbox)
|
|
router.get('/sent', requireAuth, Controller.sent)
|
|
router.put('/:id', requireAuth, Controller.update)
|
|
router.delete('/:id', requireAuth, Controller.destroy)
|
|
|
|
return router
|
|
}
|