Improve the message-from-adapter-error util

Automatically detect ACL errors
Provide a generic error message as a fallback
This commit is contained in:
Michael Lange 2021-01-27 16:39:13 -08:00
parent 94094d4f18
commit 320a63dc68
1 changed files with 10 additions and 2 deletions

View File

@ -1,6 +1,14 @@
import { ForbiddenError } from '@ember-data/adapter/error';
// Returns a single string based on the response the adapter received
export default function messageFromAdapterError(error) {
if (error.errors) {
export default function messageFromAdapterError(error, actionMessage) {
if (error instanceof ForbiddenError) {
return `Your ACL token does not grant permission to ${actionMessage}.`;
}
if (error.errors?.length) {
return error.errors.mapBy('detail').join('\n\n');
}
return 'Unknown Error';
}