123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106 |
- import i18n from 'i18n-js';
- import { ApiRejectType } from './WebData';
-
- export enum REQUEST_STATUS {
- SUCCESS = 200,
- TOKEN_SAVE = 4,
- TOKEN_RETRIEVE = 5,
- BAD_INPUT = 400,
- FORBIDDEN = 403,
- CONNECTION_ERROR = 404,
- SERVER_ERROR = 500,
- UNKNOWN = 999,
- }
-
- export enum API_REQUEST_CODES {
- SUCCESS = 0,
- BAD_CREDENTIALS = 1,
- BAD_TOKEN = 2,
- NO_CONSENT = 3,
- BAD_INPUT = 400,
- FORBIDDEN = 403,
- UNKNOWN = 999,
- }
-
- export function getErrorMessage(
- props: Partial<ApiRejectType>,
- message?: string,
- icon?: string
- ) {
- let fullMessage = {
- message: '',
- icon: '',
- };
- if (props.code === undefined) {
- switch (props.status) {
- case REQUEST_STATUS.BAD_INPUT:
- fullMessage.message = i18n.t('errors.badInput');
- fullMessage.icon = 'alert-circle-outline';
- break;
- case REQUEST_STATUS.FORBIDDEN:
- fullMessage.message = i18n.t('errors.forbidden');
- fullMessage.icon = 'lock';
- break;
- case REQUEST_STATUS.CONNECTION_ERROR:
- fullMessage.message = i18n.t('errors.connectionError');
- fullMessage.icon = 'access-point-network-off';
- break;
- case REQUEST_STATUS.SERVER_ERROR:
- fullMessage.message = i18n.t('errors.serverError');
- fullMessage.icon = 'server-network-off';
- break;
- case REQUEST_STATUS.TOKEN_SAVE:
- fullMessage.message = i18n.t('errors.tokenSave');
- fullMessage.icon = 'alert-circle-outline';
- break;
- case REQUEST_STATUS.TOKEN_RETRIEVE:
- fullMessage.message = i18n.t('errors.tokenRetrieve');
- fullMessage.icon = 'alert-circle-outline';
- break;
- default:
- fullMessage.message = i18n.t('errors.unknown');
- fullMessage.icon = 'alert-circle-outline';
- break;
- }
- } else {
- switch (props.code) {
- case API_REQUEST_CODES.BAD_CREDENTIALS:
- fullMessage.message = i18n.t('errors.badCredentials');
- fullMessage.icon = 'account-alert-outline';
- break;
- case API_REQUEST_CODES.BAD_TOKEN:
- fullMessage.message = i18n.t('errors.badToken');
- fullMessage.icon = 'account-alert-outline';
- break;
- case API_REQUEST_CODES.NO_CONSENT:
- fullMessage.message = i18n.t('errors.noConsent');
- fullMessage.icon = 'account-remove-outline';
- break;
- case API_REQUEST_CODES.BAD_INPUT:
- fullMessage.message = i18n.t('errors.badInput');
- fullMessage.icon = 'alert-circle-outline';
- break;
- case API_REQUEST_CODES.FORBIDDEN:
- fullMessage.message = i18n.t('errors.forbidden');
- fullMessage.icon = 'lock';
- break;
- default:
- fullMessage.message = i18n.t('errors.unknown');
- fullMessage.icon = 'alert-circle-outline';
- break;
- }
- }
-
- if (props.code !== undefined) {
- fullMessage.message += `\n\nCode {${props.status}:${props.code}}`;
- } else {
- fullMessage.message += `\n\nCode {${props.status}}`;
- }
- if (message) {
- fullMessage.message = message;
- }
- if (icon) {
- fullMessage.icon = icon;
- }
- return fullMessage;
- }
|