diff --git a/app/scenes/UserDelete.js b/app/scenes/UserDelete.js index c03e004c..89ba2265 100644 --- a/app/scenes/UserDelete.js +++ b/app/scenes/UserDelete.js @@ -28,7 +28,6 @@ class UserDelete extends React.Component { this.props.auth.logout(); } catch (error) { this.props.ui.showToast(error.message); - throw error; } finally { this.isDeleting = false; } diff --git a/app/utils/ApiClient.js b/app/utils/ApiClient.js index 0967d3fd..dbc62949 100644 --- a/app/utils/ApiClient.js +++ b/app/utils/ApiClient.js @@ -5,10 +5,12 @@ import stores from "stores"; import download from "./download"; import { AuthorizationError, + BadRequestError, NetworkError, NotFoundError, OfflineError, RequestError, + ServiceUnavailableError, UpdateRequiredError, } from "./errors"; @@ -141,6 +143,10 @@ class ApiClient { throw new UpdateRequiredError(error.message); } + if (response.status === 400) { + throw new BadRequestError(error.message); + } + if (response.status === 403) { throw new AuthorizationError(error.message); } @@ -149,6 +155,10 @@ class ApiClient { throw new NotFoundError(error.message); } + if (response.status === 503) { + throw new ServiceUnavailableError(error.message); + } + throw new RequestError(error.message); }; diff --git a/app/utils/errors.js b/app/utils/errors.js index 662a57c7..db71a7c3 100644 --- a/app/utils/errors.js +++ b/app/utils/errors.js @@ -2,8 +2,10 @@ import ExtendableError from "es6-error"; export class AuthorizationError extends ExtendableError {} +export class BadRequestError extends ExtendableError {} export class NetworkError extends ExtendableError {} export class NotFoundError extends ExtendableError {} export class OfflineError extends ExtendableError {} +export class ServiceUnavailableError extends ExtendableError {} export class RequestError extends ExtendableError {} export class UpdateRequiredError extends ExtendableError {} diff --git a/server/static/index.html b/server/static/index.html index 2f79916f..db53cc12 100644 --- a/server/static/index.html +++ b/server/static/index.html @@ -54,9 +54,11 @@ ignoreErrors: [ "ResizeObserver loop limit exceeded", "AuthorizationError", + "BadRequestError", "NetworkError", "NotFoundError", "OfflineError", + "ServiceUnavailableError", "UpdateRequiredError", "ChunkLoadError", ],