Files
term_portal/express/routes/api/v1/users.js
T

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