refactor errors
This commit is contained in:
parent
1946fabdcf
commit
cdff654fdc
|
@ -27,7 +27,7 @@ import { checkSubscriptionPurchase } from 'utils/billing';
|
|||
|
||||
import FullScreenDropZone from 'components/FullScreenDropZone';
|
||||
import Sidebar from 'components/Sidebar';
|
||||
import { checkConnectivity, preloadImage } from 'utils/common';
|
||||
import { preloadImage } from 'utils/common';
|
||||
import {
|
||||
isFirstLogin,
|
||||
justSignedUp,
|
||||
|
@ -99,6 +99,7 @@ import useFileInput from 'hooks/useFileInput';
|
|||
import { User } from 'types/user';
|
||||
import { getData, LS_KEYS } from 'utils/storage/localStorage';
|
||||
import { CenteredFlex } from 'components/Container';
|
||||
import { checkConnectivity } from 'utils/error/ui';
|
||||
|
||||
export const DeadCenter = styled('div')`
|
||||
flex: 1;
|
||||
|
|
|
@ -1,15 +1,7 @@
|
|||
import constants from 'utils/strings/constants';
|
||||
import { CustomError } from 'utils/error';
|
||||
|
||||
export const APP_DOWNLOAD_URL = 'https://ente.io/download/desktop';
|
||||
|
||||
export function checkConnectivity() {
|
||||
if (navigator.onLine) {
|
||||
return true;
|
||||
}
|
||||
throw new Error(constants.NO_INTERNET_CONNECTION);
|
||||
}
|
||||
|
||||
export function runningInBrowser() {
|
||||
return typeof window !== 'undefined';
|
||||
}
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
import constants from 'utils/strings/constants';
|
||||
|
||||
export const ServerErrorCodes = {
|
||||
SESSION_EXPIRED: '401',
|
||||
NO_ACTIVE_SUBSCRIPTION: '402',
|
||||
|
@ -14,7 +12,6 @@ export const ServerErrorCodes = {
|
|||
};
|
||||
|
||||
export enum CustomError {
|
||||
UNKNOWN_ERROR = 'unknown error',
|
||||
SUBSCRIPTION_VERIFICATION_ERROR = 'Subscription verification failed',
|
||||
THUMBNAIL_GENERATION_FAILED = 'thumbnail generation failed',
|
||||
VIDEO_PLAYBACK_FAILED = 'video playback failed',
|
||||
|
@ -48,6 +45,7 @@ export enum CustomError {
|
|||
UPLOAD_CANCELLED = 'upload cancelled',
|
||||
REQUEST_TIMEOUT = 'request taking too long',
|
||||
HIDDEN_COLLECTION_SYNC_FILE_ATTEMPTED = 'hidden collection sync file attempted',
|
||||
UNKNOWN_ERROR = 'Something went wrong, please try again',
|
||||
}
|
||||
|
||||
function parseUploadErrorCodes(error) {
|
||||
|
@ -68,7 +66,7 @@ function parseUploadErrorCodes(error) {
|
|||
parsedMessage = CustomError.FILE_TOO_LARGE;
|
||||
break;
|
||||
default:
|
||||
parsedMessage = `${constants.UNKNOWN_ERROR} statusCode:${errorCode}`;
|
||||
parsedMessage = `${CustomError.UNKNOWN_ERROR} statusCode:${errorCode}`;
|
||||
}
|
||||
} else {
|
||||
parsedMessage = error.message;
|
||||
|
@ -121,29 +119,10 @@ export const parseSharingErrorCodes = (error) => {
|
|||
parsedMessage = CustomError.TOO_MANY_REQUESTS;
|
||||
break;
|
||||
default:
|
||||
parsedMessage = `${constants.UNKNOWN_ERROR} statusCode:${errorCode}`;
|
||||
parsedMessage = `${CustomError.UNKNOWN_ERROR} statusCode:${errorCode}`;
|
||||
}
|
||||
} else {
|
||||
parsedMessage = error.message;
|
||||
}
|
||||
return new Error(parsedMessage);
|
||||
};
|
||||
|
||||
export const handleSharingErrors = (error) => {
|
||||
const parsedError = parseSharingErrorCodes(error);
|
||||
let errorMessage = '';
|
||||
switch (parsedError.message) {
|
||||
case CustomError.BAD_REQUEST:
|
||||
errorMessage = constants.SHARING_BAD_REQUEST_ERROR;
|
||||
break;
|
||||
case CustomError.SUBSCRIPTION_NEEDED:
|
||||
errorMessage = constants.SHARING_DISABLED_FOR_FREE_ACCOUNTS;
|
||||
break;
|
||||
case CustomError.NOT_FOUND:
|
||||
errorMessage = constants.USER_DOES_NOT_EXIST;
|
||||
break;
|
||||
default:
|
||||
errorMessage = parsedError.message;
|
||||
}
|
||||
return errorMessage;
|
||||
};
|
||||
|
|
28
src/utils/error/ui.ts
Normal file
28
src/utils/error/ui.ts
Normal file
|
@ -0,0 +1,28 @@
|
|||
import constants from 'utils/strings/constants';
|
||||
import { parseSharingErrorCodes, CustomError } from '.';
|
||||
|
||||
export const handleSharingErrors = (error) => {
|
||||
const parsedError = parseSharingErrorCodes(error);
|
||||
let errorMessage = '';
|
||||
switch (parsedError.message) {
|
||||
case CustomError.BAD_REQUEST:
|
||||
errorMessage = constants.SHARING_BAD_REQUEST_ERROR;
|
||||
break;
|
||||
case CustomError.SUBSCRIPTION_NEEDED:
|
||||
errorMessage = constants.SHARING_DISABLED_FOR_FREE_ACCOUNTS;
|
||||
break;
|
||||
case CustomError.NOT_FOUND:
|
||||
errorMessage = constants.USER_DOES_NOT_EXIST;
|
||||
break;
|
||||
default:
|
||||
errorMessage = parsedError.message;
|
||||
}
|
||||
return errorMessage;
|
||||
};
|
||||
|
||||
export function checkConnectivity() {
|
||||
if (navigator.onLine) {
|
||||
return true;
|
||||
}
|
||||
throw new Error(constants.NO_INTERNET_CONNECTION);
|
||||
}
|
Loading…
Reference in a new issue