Fixes: Error when user is suspended by deleted user

Fixes: Suspended user interface never displayed
This commit is contained in:
Tom Moor 2019-02-15 21:49:48 -08:00
parent fdb49cf153
commit 346ea4df89
3 changed files with 10 additions and 5 deletions

View File

@ -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;
}
}
};

View File

@ -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
}

View File

@ -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 });
}