saleor-dashboard/src/utils/errors/shipping.ts
2020-03-24 13:54:25 +01:00

37 lines
1.2 KiB
TypeScript

import { IntlShape, defineMessages } from "react-intl";
import { ShippingErrorFragment } from "@saleor/shipping/types/ShippingErrorFragment";
import { ShippingErrorCode } from "@saleor/types/globalTypes";
import { commonMessages } from "@saleor/intl";
import commonErrorMessages from "./common";
const messages = defineMessages({
alreadyExists: {
defaultMessage: "Default shipping zone already exists",
description: "error message"
}
});
function getShippingErrorMessage(
err: Omit<ShippingErrorFragment, "__typename"> | undefined,
intl: IntlShape
): string {
if (err) {
switch (err.code) {
case ShippingErrorCode.ALREADY_EXISTS:
return intl.formatMessage(messages.alreadyExists);
case ShippingErrorCode.GRAPHQL_ERROR:
return intl.formatMessage(commonErrorMessages.graphqlError);
case ShippingErrorCode.REQUIRED:
return intl.formatMessage(commonMessages.requiredField);
case ShippingErrorCode.INVALID:
return intl.formatMessage(commonErrorMessages.invalid);
default:
return intl.formatMessage(commonErrorMessages.unknownError);
}
}
return undefined;
}
export default getShippingErrorMessage;