users.js 980 Bytes
Newer Older
abergavenny's avatar
abergavenny committed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import express from 'express'
import { checkSchema } from 'express-validator'

import { allowOrRevokeSharing, getUser, getUsers, updatePassword, updateUser } from '../../controllers/users.js'
import asyncHandler from '../../middleware/asyncHandler.js'
import permissionHandler from '../../middleware/permissionHandler.js'
import { idSchema } from '../../schemas/index.js'
import { allowOrRevokeSharingSchema, updatePasswordSchema, updateUserSchema } from '../../schemas/users.js'

const router = express.Router()

router.get('/', permissionHandler, asyncHandler(getUsers))
router.get('/:id', permissionHandler, checkSchema(idSchema), asyncHandler(getUser))

router.put('/:id', checkSchema(updateUserSchema), asyncHandler(updateUser))
router.put('/:id/change-password', permissionHandler, checkSchema(updatePasswordSchema), asyncHandler(updatePassword))
router.put('/:id/sharing', checkSchema(allowOrRevokeSharingSchema), asyncHandler(allowOrRevokeSharing))

export default router