78 lines
1.7 KiB
JavaScript
78 lines
1.7 KiB
JavaScript
const router = require('express-promise-router')()
|
|
|
|
const {
|
|
assign,
|
|
listEntries,
|
|
listNewEntries,
|
|
createQuestion,
|
|
deleteQuestion,
|
|
updateDomain,
|
|
insertConsultantAndHisDomainsByUsername,
|
|
insertNonModerator,
|
|
deleteConsultantForEntry,
|
|
getSharedAuthors,
|
|
getSharedAuthorsBeforePublish,
|
|
removeConsultant,
|
|
reject,
|
|
sendToReview,
|
|
publish,
|
|
updateQuestion,
|
|
updateSharedAuthors
|
|
} = require('../../../controllers/api/v1/consultancy')
|
|
|
|
// All routes require an authenticated user.
|
|
router.use((req, res, next) => {
|
|
if (req.isAuthenticated()) return next()
|
|
res.status(400).send('Unauthenticated')
|
|
})
|
|
|
|
router.get('/entry', listEntries)
|
|
|
|
router.get('/new-entry', listNewEntries)
|
|
|
|
router.post('/entry', createQuestion)
|
|
|
|
router.put('/entry', updateQuestion)
|
|
|
|
// Authorize endpoints for portal admin below.
|
|
router.use((req, res, next) => {
|
|
if (req.user.hasRole('portal admin')) return next()
|
|
res.status(400).send('Unauthorized')
|
|
})
|
|
|
|
// router.use(checkUserAdminPrivilegeUltility)
|
|
|
|
router.post(
|
|
'/add-consultant-by-username',
|
|
insertConsultantAndHisDomainsByUsername
|
|
)
|
|
|
|
router.post('/add-non-moderator', insertNonModerator)
|
|
|
|
// Remove user from role "consultant"
|
|
// body params: id -> user's id
|
|
|
|
router.get('/get-shared-authors', getSharedAuthorsBeforePublish)
|
|
|
|
router.get('/get-shared-authors-publish', getSharedAuthors)
|
|
|
|
router.put('/update-consultant-domain', updateDomain)
|
|
|
|
router.put('/update-shared-authors', updateSharedAuthors)
|
|
|
|
router.put('/assign', assign)
|
|
|
|
router.put('/reject', reject)
|
|
|
|
router.put('/review', sendToReview)
|
|
|
|
router.put('/publish', publish)
|
|
|
|
router.delete('/delete-consultant', removeConsultant)
|
|
|
|
router.delete('/delete-consultant-author', deleteConsultantForEntry)
|
|
|
|
router.delete('/delete', deleteQuestion)
|
|
|
|
module.exports = router
|