Merge pull request #525 from mirumee/fix/network-error

Display correct error if there were no graphql errors
This commit is contained in:
Dominik Żegleń 2020-05-11 18:50:06 +02:00 committed by GitHub
commit 65d7659262
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 13 additions and 10 deletions

View file

@ -52,6 +52,7 @@ All notable, unreleased changes to this project will be documented in this file.
- Handle session expiration - #520 by @dominik-zeglen
- Update product stock management to newest design - #515 by @dominik-zeglen
- Handle untracked products - #523 by @dominik-zeglen
- Display correct error if there were no graphql errors - #525 by @dominik-zeglen
## 2.0.0

View file

@ -50,7 +50,7 @@ function makeMutation<TData, TVariables>(
notify({
text: intl.formatMessage(commonMessages.readOnly)
});
} else if (err.graphQLErrors.every(isJwtError)) {
} else if (err.graphQLErrors.some(isJwtError)) {
user.logout();
notify({
text: intl.formatMessage(commonMessages.sessionExpired)

View file

@ -64,7 +64,7 @@ function makeQuery<TData, TVariables>(
}, [queryData.loading]);
if (queryData.error) {
if (queryData.error.graphQLErrors.every(isJwtError)) {
if (queryData.error.graphQLErrors.some(isJwtError)) {
user.logout();
notify({
text: intl.formatMessage(commonMessages.sessionExpired)

View file

@ -6,7 +6,7 @@ import { useIntl } from "react-intl";
import useNotifier from "./hooks/useNotifier";
import { commonMessages } from "./intl";
import { maybe, getMutationStatus } from "./misc";
import { getMutationStatus } from "./misc";
import { MutationResultAdditionalProps } from "./types";
import { isJwtError } from "./auth/errors";
import useUser from "./hooks/useUser";
@ -37,17 +37,19 @@ export function TypedMutation<TData, TVariables>(
mutation={mutation}
onCompleted={onCompleted}
onError={(err: ApolloError) => {
if (err.networkError) {
notify({
text: intl.formatMessage(commonMessages.somethingWentWrong)
});
}
if (
maybe(
() =>
err.graphQLErrors[0].extensions.exception.code ===
"ReadOnlyException"
)
err.graphQLErrors[0].extensions.exception?.code ===
"ReadOnlyException"
) {
notify({
text: intl.formatMessage(commonMessages.readOnly)
});
} else if (err.graphQLErrors.every(isJwtError)) {
} else if (err.graphQLErrors.some(isJwtError)) {
user.logout();
notify({
text: intl.formatMessage(commonMessages.sessionExpired)

View file

@ -83,7 +83,7 @@ export function TypedQuery<TData, TVariables>(
>
{(queryData: QueryResult<TData, TVariables>) => {
if (queryData.error) {
if (queryData.error.graphQLErrors.every(isJwtError)) {
if (queryData.error.graphQLErrors.some(isJwtError)) {
user.logout();
notify({
text: intl.formatMessage(commonMessages.sessionExpired)