Skip to content

Commit cb50881

Browse files
authored
fix: APP-595 invalidate payment methods query on login/logout (#2605)
1 parent 6d81b07 commit cb50881

File tree

4 files changed

+22
-5
lines changed

4 files changed

+22
-5
lines changed

web-marketplace/src/lib/queries/react-query/registry-server/getPaymentMethodsQuery/getPaymentMethodsQuery.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
import { apiUri } from 'lib/apiUri';
22

3-
import { GET_PAYMENT_METHODS_QUERY_KEY } from './getPaymentMethodsQuery.constants';
43
import {
54
ReactQueryGetPaymentMethodsQueryParams,
65
ReactQueryGetPaymentMethodsQueryResponse,
76
} from './getPaymentMethodsQuery.types';
7+
import { getPaymentMethodsQueryKey } from './getPaymentMethodsQuery.utils';
88

99
export const getPaymentMethodsQuery = ({
1010
limit,
1111
...params
1212
}: ReactQueryGetPaymentMethodsQueryParams): ReactQueryGetPaymentMethodsQueryResponse => ({
13-
queryKey: [GET_PAYMENT_METHODS_QUERY_KEY, limit],
13+
queryKey: getPaymentMethodsQueryKey(limit),
1414
queryFn: async () => {
1515
try {
1616
const resp = await fetch(
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
import { GET_PAYMENT_METHODS_QUERY_KEY } from './getPaymentMethodsQuery.constants';
2+
3+
export const getPaymentMethodsQueryKey = (limit?: number) => [
4+
GET_PAYMENT_METHODS_QUERY_KEY,
5+
limit,
6+
];

web-marketplace/src/lib/wallet/hooks/useLogin.tsx

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import { apiUri } from 'lib/apiUri';
77
import { useRetryCsrfRequest } from 'lib/errors/hooks/useRetryCsrfRequest';
88
import { GET_ACCOUNTS_QUERY_KEY } from 'lib/queries/react-query/registry-server/getAccounts/getAccountsQuery.constants';
99
import { getCsrfTokenQuery } from 'lib/queries/react-query/registry-server/getCsrfTokenQuery/getCsrfTokenQuery';
10+
import { getPaymentMethodsQueryKey } from 'lib/queries/react-query/registry-server/getPaymentMethodsQuery/getPaymentMethodsQuery.utils';
1011
import { AccountEvent, Track } from 'lib/tracker/types';
1112
import { LoginParams, SignArbitraryType } from 'lib/wallet/wallet';
1213

@@ -70,10 +71,15 @@ export const useLogin = ({
7071
data: { signature },
7172
token,
7273
retryCsrfRequest,
73-
onSuccess: async () =>
74+
onSuccess: async () => {
7475
await reactQueryClient.invalidateQueries({
7576
queryKey: [GET_ACCOUNTS_QUERY_KEY],
76-
}),
77+
});
78+
await reactQueryClient.invalidateQueries({
79+
queryKey: getPaymentMethodsQueryKey(),
80+
refetchType: 'all',
81+
});
82+
},
7783
});
7884

7985
if (res?.user?.accountId && track) {

web-marketplace/src/lib/wallet/hooks/useLogout.tsx

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import { CSRF_ERROR } from 'lib/errors/apiErrors';
77
import { useRetryCsrfRequest } from 'lib/errors/hooks/useRetryCsrfRequest';
88
import { GET_ACCOUNTS_QUERY_KEY } from 'lib/queries/react-query/registry-server/getAccounts/getAccountsQuery.constants';
99
import { getCsrfTokenQuery } from 'lib/queries/react-query/registry-server/getCsrfTokenQuery/getCsrfTokenQuery';
10+
import { getPaymentMethodsQueryKey } from 'lib/queries/react-query/registry-server/getPaymentMethodsQuery/getPaymentMethodsQuery.utils';
1011

1112
type Params = {
1213
setError: UseStateSetter<unknown>;
@@ -33,9 +34,13 @@ export const useLogout = ({ setError }: Params) => {
3334
);
3435
const bodyResponse = await response.json();
3536
if (!bodyResponse.error) {
36-
reactQueryClient.invalidateQueries({
37+
await reactQueryClient.invalidateQueries({
3738
queryKey: [GET_ACCOUNTS_QUERY_KEY],
3839
});
40+
await reactQueryClient.invalidateQueries({
41+
queryKey: getPaymentMethodsQueryKey(),
42+
refetchType: 'all',
43+
});
3944
}
4045

4146
return bodyResponse;

0 commit comments

Comments
 (0)