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