import { IntlShape, defineMessages } from "react-intl"; import { ShopErrorFragment } from "@saleor/siteSettings/types/ShopErrorFragment"; import { ShopErrorCode } from "@saleor/types/globalTypes"; import { commonMessages } from "@saleor/intl"; import commonErrorMessages from "./common"; const messages = defineMessages({ alreadyExists: { defaultMessage: "Authorization key with this type already exists", description: "add authorization key error" } }); function getShopErrorMessage( err: Omit | undefined, intl: IntlShape ): string { if (err) { switch (err.code) { case ShopErrorCode.ALREADY_EXISTS: return intl.formatMessage(messages.alreadyExists); case ShopErrorCode.GRAPHQL_ERROR: return intl.formatMessage(commonErrorMessages.graphqlError); case ShopErrorCode.REQUIRED: return intl.formatMessage(commonMessages.requiredField); case ShopErrorCode.INVALID: return intl.formatMessage(commonErrorMessages.invalid); default: return intl.formatMessage(commonErrorMessages.unknownError); } } return undefined; } export default getShopErrorMessage;