From 346ea4df89b1649ec8b1737f5581235052e685dd Mon Sep 17 00:00:00 2001 From: Tom Moor Date: Fri, 15 Feb 2019 21:49:48 -0800 Subject: [PATCH] Fixes: Error when user is suspended by deleted user Fixes: Suspended user interface never displayed --- app/stores/AuthStore.js | 4 ++-- app/utils/ApiClient.js | 6 ++++-- server/middlewares/authentication.js | 5 ++++- 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/app/stores/AuthStore.js b/app/stores/AuthStore.js index 5a9fdbfc..df7937ba 100644 --- a/app/stores/AuthStore.js +++ b/app/stores/AuthStore.js @@ -78,9 +78,9 @@ export default class AuthStore { } }); } catch (err) { - if (err.error.error === 'user_suspended') { + if (err.error === 'user_suspended') { this.isSuspended = true; - this.suspendedContactEmail = err.error.data.adminEmail; + this.suspendedContactEmail = err.data.adminEmail; } } }; diff --git a/app/utils/ApiClient.js b/app/utils/ApiClient.js index 9b290a80..fef4a73c 100644 --- a/app/utils/ApiClient.js +++ b/app/utils/ApiClient.js @@ -81,8 +81,10 @@ class ApiClient { error.response = response; try { - const data = await response.json(); - error.message = data.message || ''; + const parsed = await response.json(); + error.message = parsed.message || ''; + error.error = parsed.error; + error.data = parsed.data; } catch (_err) { // we're trying to parse an error so JSON may not be valid } diff --git a/server/middlewares/authentication.js b/server/middlewares/authentication.js index dcb779ec..ee3970e5 100644 --- a/server/middlewares/authentication.js +++ b/server/middlewares/authentication.js @@ -80,7 +80,10 @@ export default function auth(options?: { required?: boolean } = {}) { } if (user.isSuspended) { - const suspendingAdmin = await User.findById(user.suspendedById); + const suspendingAdmin = await User.findOne({ + where: { id: user.suspendedById }, + paranoid: false, + }); throw new UserSuspendedError({ adminEmail: suspendingAdmin.email }); }