fixed error message shown to user

This commit is contained in:
Abhinav-grd 2021-08-29 13:49:46 +05:30
parent 1f62d7ba53
commit f145328c38
2 changed files with 34 additions and 17 deletions

View file

@ -22,6 +22,7 @@ import UploadManager, {
} from 'services/upload/uploadManager';
import uploadManager from 'services/upload/uploadManager';
import { METADATA_FOLDER_NAME } from 'services/exportService';
import { getUserFacingErrorMessage } from 'utils/common/errorUtil';
const FIRST_ALBUM_NAME = 'My First Album';
@ -280,7 +281,8 @@ export default function Upload(props: Props) {
collections
);
} catch (err) {
props.setBannerMessage(err.message);
const message = getUserFacingErrorMessage(err.message);
props.setBannerMessage(message);
setProgressView(false);
throw err;
} finally {
@ -296,8 +298,9 @@ export default function Upload(props: Props) {
await props.syncWithRemote(true, true);
await uploadManager.retryFailedFiles();
} catch (err) {
const message = getUserFacingErrorMessage(err.message);
appContext.resetSharedFiles();
props.setBannerMessage(err.message);
props.setBannerMessage(message);
setProgressView(false);
} finally {
props.setUploadInProgress(false);

View file

@ -1,4 +1,5 @@
import { AxiosResponse } from 'axios';
import constants from 'utils/strings/constants';
export const ServerErrorCodes = {
SESSION_EXPIRED: '401',
@ -8,21 +9,21 @@ export const ServerErrorCodes = {
FILE_TOO_LARGE: '413',
};
export const CustomError = {
UNKNOWN_ERROR: 'unknown error',
SUBSCRIPTION_VERIFICATION_ERROR: 'Subscription verification failed',
THUMBNAIL_GENERATION_FAILED: 'thumbnail generation failed',
VIDEO_PLAYBACK_FAILED: 'video playback failed',
ETAG_MISSING: 'no header/etag present in response body',
KEY_MISSING: 'encrypted key missing from localStorage',
FAILED_TO_LOAD_WEB_WORKER: 'failed to load web worker',
CHUNK_MORE_THAN_EXPECTED: 'chunks more than expected',
UNSUPPORTED_FILE_FORMAT: 'unsupported file formats',
FILE_TOO_LARGE: 'file too large',
SUBSCRIPTION_EXPIRED: 'subscription expired',
STORAGE_QUOTA_EXCEEDED: 'storage quota exceeded',
SESSION_EXPIRED_MESSAGE: 'session expired',
};
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',
ETAG_MISSING = 'no header/etag present in response body',
KEY_MISSING = 'encrypted key missing from localStorage',
FAILED_TO_LOAD_WEB_WORKER = 'failed to load web worker',
CHUNK_MORE_THAN_EXPECTED = 'chunks more than expected',
UNSUPPORTED_FILE_FORMAT = 'unsupported file formats',
FILE_TOO_LARGE = 'file too large',
SUBSCRIPTION_EXPIRED = 'subscription expired',
STORAGE_QUOTA_EXCEEDED = 'storage quota exceeded',
SESSION_EXPIRED_MESSAGE = 'session expired',
}
function parseUploadError(error: AxiosResponse) {
let parsedMessage = null;
@ -70,3 +71,16 @@ export function handleUploadError(error: AxiosResponse | Error): Error {
}
return parsedError;
}
export function getUserFacingErrorMessage(err: CustomError) {
switch (err) {
case CustomError.SESSION_EXPIRED_MESSAGE:
return constants.SESSION_EXPIRED_MESSAGE;
case CustomError.SUBSCRIPTION_EXPIRED:
return constants.SUBSCRIPTION_EXPIRED;
case CustomError.STORAGE_QUOTA_EXCEEDED:
return constants.STORAGE_QUOTA_EXCEEDED;
default:
return constants.UNKNOWN_ERROR;
}
}