- Como já temos os dados da conta de usuário logada na requisição por causa do middleware de autenticação, tudo que precisamos fazer para obter essas informações é criar um controlador que retorna-as na resposta. No controlador usersController adicione o código:
// src/controllers/usersController.ts
import { Response } from 'express'
import { AuthenticatedRequest } from '../middlewares/auth'
import { userService } from '../services/userService'
export const usersController = {
// GET /users/current
show: async (req: AuthenticatedRequest, res: Response) => {
const currentUser = req.user
try {
return res.json(currentUser)
} catch (err) {
if (err instanceof Error) {
return res.status(400).json({ message: err.message })
}
}
},
// ...
}
- Agora é só criar a rota e incluir o método do novo controlador:
// src/routes.ts
// ...
router.get('/users/current', ensureAuth, usersController.show)
router.get('/users/current/watching', ensureAuth, usersController.watching)
// ...