From 98ab1b8de6aaf3bbadf8ac3b08ea429685305ca2 Mon Sep 17 00:00:00 2001 From: Adrian Obelmejias Date: Mon, 15 Feb 2016 18:22:36 -0500 Subject: [PATCH] Fix error handling for DEL method --- src/controllers/users.js | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/src/controllers/users.js b/src/controllers/users.js index 7f76af8..c7d82ca 100644 --- a/src/controllers/users.js +++ b/src/controllers/users.js @@ -87,15 +87,23 @@ router.put('/:id', router.delete('/:id', ensureUser, async (ctx) => { - const user = await User.findById(ctx.params.id) + try { + const user = await User.findById(ctx.params.id) + if (!user) { + ctx.throw(404) + } - if (!user) { - ctx.throw(404) + await user.remove() + + ctx.body = 200 + } catch (err) { + + if (err === 404 || err.name === 'CastError') { + ctx.throw(404) + } + + ctx.throw(500) } - - await user.remove() - - ctx.body = 200 } )