import { Router } from 'express'; import { celebrate, Segments, Joi } from 'celebrate'; import multer from 'multer'; import uploadConfig from '@config/storage'; import ensureAuthentication from '../middlewares/EnsureAuthentication'; import UsersController from '../controllers/UsersController'; import UserAvatarController from '../controllers/UserAvatarController'; const usersRouter = Router(); const usersController = new UsersController(); const userAvatarController = new UserAvatarController(); const upload = multer(uploadConfig.multer); usersRouter.post( '/', celebrate({ [Segments.BODY]: { name: Joi.string().required(), email: Joi.string().email().required(), password: Joi.string().min(6).required(), }, }), usersController.create, ); usersRouter.patch( '/avatar', ensureAuthentication, upload.single('avatar'), userAvatarController.update, ); export default usersRouter;