refactor errors

This commit is contained in:
Abhinav 2022-11-14 14:15:38 +05:30
parent 1946fabdcf
commit cdff654fdc
4 changed files with 33 additions and 33 deletions

View file

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

View file

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

View file

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