47 lines
1.4 KiB
JavaScript
47 lines
1.4 KiB
JavaScript
const router = require('express-promise-router')()
|
|
const user = require('../../../controllers/users')
|
|
const users = require('../../../controllers/api/v1/users')
|
|
const userAuth = require('../../../middleware/user')
|
|
|
|
// Validate and create a new user.
|
|
router.post('/register', user.register)
|
|
|
|
// Validate and log the user in.
|
|
router.post('/login', user.login)
|
|
|
|
// Supply user with the token to set a new password.
|
|
router.post('/reset-password-init', user.generateResetPasswordToken)
|
|
|
|
// Validate new passwords, change if successful and sign the user in.
|
|
router.post('/reset-password-submit', user.changePassword)
|
|
|
|
// Find user by username or email in dictionary or admin console.
|
|
router.get(
|
|
'/addUser',
|
|
userAuth.isAuthenticated,
|
|
userAuth.canAdministrateDictionary,
|
|
user.findByUsernameOrEmail
|
|
)
|
|
|
|
// List all users in the admin console.
|
|
router.get(
|
|
'/listAllUsers',
|
|
userAuth.isAuthenticated,
|
|
userAuth.isPortalAdmin,
|
|
users.listUsers
|
|
)
|
|
|
|
// Update hits per page setting of the requesting user.
|
|
router.post('/hitsPerPage', users.updateHitsPerPage)
|
|
|
|
// Update first name, last name and email of the requesting user.
|
|
router.post('/basic-data', users.updateBasicData)
|
|
|
|
// Update password of the requesting user.
|
|
router.post('/password', users.updatePassword)
|
|
|
|
// Delete user profile of the requesting user.
|
|
router.delete('/current', users.deleteCurrent)
|
|
|
|
module.exports = router
|