@q2devel/q2-core 1.0.102 → 1.0.107
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api/products/getProducts.d.ts.map +1 -1
- package/dist/api/products/getProducts.js +8 -2
- package/dist/hooks/products/useGetProducts.d.ts.map +1 -1
- package/dist/hooks/products/useGetProducts.js +1 -0
- package/dist/hooks/products/useGetProductsCount.d.ts.map +1 -1
- package/dist/hooks/products/useGetProductsCount.js +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/utils/clearUserScopedQueries.d.ts +23 -0
- package/dist/utils/clearUserScopedQueries.d.ts.map +1 -0
- package/dist/utils/clearUserScopedQueries.js +33 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getProducts.d.ts","sourceRoot":"","sources":["../../../api/products/getProducts.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAA;AAKtD,KAAK,iBAAiB,GAAG;IACrB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;IACrB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,KAAK,CAAC;QACZ,IAAI,EAAE,MAAM,CAAA;QACZ,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,CAAA;QAC/B,QAAQ,CAAC,EAAE,MAAM,CAAA;KACpB,CAAC,CAAA;IACF,SAAS,CAAC,EAAE,KAAK,CAAC;QACd,KAAK,EAAE,MAAM,CAAA;QACb,SAAS,EAAE,KAAK,GAAG,MAAM,CAAA;KAC5B,CAAC,CAAA;IACF,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,KAAK,CAAC,EAAE,OAAO,CAAA;CAClB,CAAA;AAED,eAAO,MAAM,WAAW,GACpB,KAAK,WAAW,EAChB,8GAmBG,iBAAiB,KACrB,OAAO,CAAC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"getProducts.d.ts","sourceRoot":"","sources":["../../../api/products/getProducts.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAA;AAKtD,KAAK,iBAAiB,GAAG;IACrB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;IACrB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,KAAK,CAAC;QACZ,IAAI,EAAE,MAAM,CAAA;QACZ,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,CAAA;QAC/B,QAAQ,CAAC,EAAE,MAAM,CAAA;KACpB,CAAC,CAAA;IACF,SAAS,CAAC,EAAE,KAAK,CAAC;QACd,KAAK,EAAE,MAAM,CAAA;QACb,SAAS,EAAE,KAAK,GAAG,MAAM,CAAA;KAC5B,CAAC,CAAA;IACF,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,KAAK,CAAC,EAAE,OAAO,CAAA;CAClB,CAAA;AAED,eAAO,MAAM,WAAW,GACpB,KAAK,WAAW,EAChB,8GAmBG,iBAAiB,KACrB,OAAO,CAAC,OAAO,EAAE,CAkFnB,CAAA;AAED,KAAK,qBAAqB,GAAG;IACzB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;IACrB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,OAAO,CAAC,EAAE,KAAK,CAAC;QACZ,IAAI,EAAE,MAAM,CAAA;QACZ,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,CAAA;QAC/B,QAAQ,CAAC,EAAE,MAAM,CAAA;KACpB,CAAC,CAAA;IACF,KAAK,CAAC,EAAE,OAAO,CAAA;CAClB,CAAA;AAED,eAAO,MAAM,eAAe,GACxB,KAAK,WAAW,EAChB,sCAKG,qBAAqB,KACzB,OAAO,CAAC,MAAM,CAiDhB,CAAA"}
|
|
@@ -12,6 +12,7 @@ export const getProducts = async (ctx, { locale, categoryId, productId, searchTe
|
|
|
12
12
|
const currentLocale = locale || ctx.locale;
|
|
13
13
|
const cacheKey = [
|
|
14
14
|
'products',
|
|
15
|
+
ctx.userId ? `user:${ctx.userId}` : 'anon',
|
|
15
16
|
currentLocale,
|
|
16
17
|
categoryId?.length ? `cat:${categoryId.join(',')}` : '',
|
|
17
18
|
productId ? `id:${productId}` : '',
|
|
@@ -64,7 +65,9 @@ export const getProducts = async (ctx, { locale, categoryId, productId, searchTe
|
|
|
64
65
|
const url = currentLocale === ctx.defaultLocale
|
|
65
66
|
? `/jsonapi/index/variation`
|
|
66
67
|
: `/${currentLocale}/jsonapi/index/variation`;
|
|
67
|
-
const { data } = await ctx.axios.get(queryString ? `${url}?${queryString}` : url
|
|
68
|
+
const { data } = await ctx.axios.get(queryString ? `${url}?${queryString}` : url, ctx.accessToken
|
|
69
|
+
? { headers: { Authorization: `Bearer ${ctx.accessToken}` } }
|
|
70
|
+
: undefined);
|
|
68
71
|
const resolvedProducts = mapIncludedResources(data, 5);
|
|
69
72
|
const mapProductFn = ctx.mapProduct || mapProduct;
|
|
70
73
|
const mappedProducts = await Promise.all(resolvedProducts.map(async (item) => {
|
|
@@ -82,6 +85,7 @@ export const getProducts = async (ctx, { locale, categoryId, productId, searchTe
|
|
|
82
85
|
export const getProductCount = async (ctx, { categoryId = [], tag = '', cache = true, filters = [], }) => {
|
|
83
86
|
const cacheKey = [
|
|
84
87
|
'productCount',
|
|
88
|
+
ctx.userId ? `user:${ctx.userId}` : 'anon',
|
|
85
89
|
ctx.locale,
|
|
86
90
|
categoryId?.length ? `cat:${categoryId.join(',')}` : '',
|
|
87
91
|
tag ? `tag:${tag}` : '',
|
|
@@ -109,7 +113,9 @@ export const getProductCount = async (ctx, { categoryId = [], tag = '', cache =
|
|
|
109
113
|
const url = ctx.locale === ctx.defaultLocale
|
|
110
114
|
? `/jsonapi/index/variation`
|
|
111
115
|
: `/${ctx.locale}/jsonapi/index/variation`;
|
|
112
|
-
const { data } = await ctx.axios.get(queryString ? `${url}?${queryString}` : url
|
|
116
|
+
const { data } = await ctx.axios.get(queryString ? `${url}?${queryString}` : url, ctx.accessToken
|
|
117
|
+
? { headers: { Authorization: `Bearer ${ctx.accessToken}` } }
|
|
118
|
+
: undefined);
|
|
113
119
|
if (cache && ctx.setCache) {
|
|
114
120
|
await ctx.setCache(cacheKey, data.meta?.count ?? 0);
|
|
115
121
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useGetProducts.d.ts","sourceRoot":"","sources":["../../../hooks/products/useGetProducts.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAE3C,KAAK,qBAAqB,GAAG;IACzB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;IACrB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,KAAK,CAAC;QACZ,IAAI,EAAE,MAAM,CAAA;QACZ,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,CAAA;QAC/B,QAAQ,CAAC,EAAE,MAAM,CAAA;KACpB,CAAC,CAAA;IACF,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,OAAO,CAAC,EAAE,OAAO,CAAA;CACpB,CAAA;AAED,eAAO,MAAM,cAAc,GACvB,KAAK,WAAW,EAChB,QAAQ,MAAM,EACd,UAAU,qBAAqB,
|
|
1
|
+
{"version":3,"file":"useGetProducts.d.ts","sourceRoot":"","sources":["../../../hooks/products/useGetProducts.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAE3C,KAAK,qBAAqB,GAAG;IACzB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;IACrB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,KAAK,CAAC;QACZ,IAAI,EAAE,MAAM,CAAA;QACZ,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,CAAA;QAC/B,QAAQ,CAAC,EAAE,MAAM,CAAA;KACpB,CAAC,CAAA;IACF,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,OAAO,CAAC,EAAE,OAAO,CAAA;CACpB,CAAA;AAED,eAAO,MAAM,cAAc,GACvB,KAAK,WAAW,EAChB,QAAQ,MAAM,EACd,UAAU,qBAAqB,qFA+ClC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useGetProductsCount.d.ts","sourceRoot":"","sources":["../../../hooks/products/useGetProductsCount.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAE3C,KAAK,0BAA0B,GAAG;IAC9B,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;IACrB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,OAAO,CAAC,EAAE,KAAK,CAAC;QACZ,IAAI,EAAE,MAAM,CAAA;QACZ,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,CAAA;QAC/B,QAAQ,CAAC,EAAE,MAAM,CAAA;KACpB,CAAC,CAAA;IACF,KAAK,CAAC,EAAE,OAAO,CAAA;CAClB,CAAA;AAED,eAAO,MAAM,mBAAmB,GAC5B,KAAK,WAAW,EAChB,UAAU,0BAA0B,
|
|
1
|
+
{"version":3,"file":"useGetProductsCount.d.ts","sourceRoot":"","sources":["../../../hooks/products/useGetProductsCount.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAE3C,KAAK,0BAA0B,GAAG;IAC9B,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;IACrB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,OAAO,CAAC,EAAE,KAAK,CAAC;QACZ,IAAI,EAAE,MAAM,CAAA;QACZ,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,CAAA;QAC/B,QAAQ,CAAC,EAAE,MAAM,CAAA;KACpB,CAAC,CAAA;IACF,KAAK,CAAC,EAAE,OAAO,CAAA;CAClB,CAAA;AAED,eAAO,MAAM,mBAAmB,GAC5B,KAAK,WAAW,EAChB,UAAU,0BAA0B,kEAyBvC,CAAA"}
|
package/dist/index.d.ts
CHANGED
|
@@ -45,5 +45,6 @@ export * from './api/cart/CartService.types';
|
|
|
45
45
|
export * from './utils/mapProducts';
|
|
46
46
|
export * from './utils/mapIncludedResources';
|
|
47
47
|
export * from './utils/generalHelper';
|
|
48
|
+
export * from './utils/clearUserScopedQueries';
|
|
48
49
|
export { useUrlModal } from './auth/hooks/useUrlModal';
|
|
49
50
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AACA,cAAc,0BAA0B,CAAA;AACxC,cAAc,uBAAuB,CAAA;AAErC,cAAc,yBAAyB,CAAA;AACvC,cAAc,sBAAsB,CAAA;AAGpC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,cAAc,CAAA;AAG5B,cAAc,4BAA4B,CAAA;AAC1C,cAAc,0BAA0B,CAAA;AAGxC,cAAc,yBAAyB,CAAA;AACvC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,+BAA+B,CAAA;AAG7C,cAAc,+BAA+B,CAAA;AAC7C,cAAc,oCAAoC,CAAA;AAElD,cAAc,6BAA6B,CAAA;AAC3C,cAAc,kCAAkC,CAAA;AAEhD,cAAc,mCAAmC,CAAA;AACjD,cAAc,wCAAwC,CAAA;AAGtD,cAAc,sCAAsC,CAAA;AACpD,cAAc,2CAA2C,CAAA;AACzD,cAAc,gDAAgD,CAAA;AAC9D,cAAc,iCAAiC,CAAA;AAC/C,cAAc,sCAAsC,CAAA;AACpD,cAAc,yBAAyB,CAAA;AACvC,cAAc,iDAAiD,CAAA;AAC/D,cAAc,sDAAsD,CAAA;AACpE,cAAc,mCAAmC,CAAA;AAGjD,cAAc,kBAAkB,CAAA;AAChC,cAAc,yBAAyB,CAAA;AACvC,cAAc,wBAAwB,CAAA;AACtC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,6BAA6B,CAAA;AAC3C,cAAc,wBAAwB,CAAA;AACtC,cAAc,yBAAyB,CAAA;AACvC,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAA;AAEvE,cAAc,iCAAiC,CAAA;AAC/C,cAAc,sCAAsC,CAAA;AAEpD,cAAc,qCAAqC,CAAA;AACnD,cAAc,8BAA8B,CAAA;AAC5C,cAAc,iCAAiC,CAAA;AAC/C,cAAc,sCAAsC,CAAA;AAEpD,cAAc,WAAW,CAAA;AACzB,cAAc,8BAA8B,CAAA;AAE5C,cAAc,yBAAyB,CAAA;AACvC,cAAc,8BAA8B,CAAA;AAE5C,cAAc,qBAAqB,CAAA;AACnC,cAAc,8BAA8B,CAAA;AAE5C,cAAc,uBAAuB,CAAA;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AACA,cAAc,0BAA0B,CAAA;AACxC,cAAc,uBAAuB,CAAA;AAErC,cAAc,yBAAyB,CAAA;AACvC,cAAc,sBAAsB,CAAA;AAGpC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,cAAc,CAAA;AAG5B,cAAc,4BAA4B,CAAA;AAC1C,cAAc,0BAA0B,CAAA;AAGxC,cAAc,yBAAyB,CAAA;AACvC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,+BAA+B,CAAA;AAG7C,cAAc,+BAA+B,CAAA;AAC7C,cAAc,oCAAoC,CAAA;AAElD,cAAc,6BAA6B,CAAA;AAC3C,cAAc,kCAAkC,CAAA;AAEhD,cAAc,mCAAmC,CAAA;AACjD,cAAc,wCAAwC,CAAA;AAGtD,cAAc,sCAAsC,CAAA;AACpD,cAAc,2CAA2C,CAAA;AACzD,cAAc,gDAAgD,CAAA;AAC9D,cAAc,iCAAiC,CAAA;AAC/C,cAAc,sCAAsC,CAAA;AACpD,cAAc,yBAAyB,CAAA;AACvC,cAAc,iDAAiD,CAAA;AAC/D,cAAc,sDAAsD,CAAA;AACpE,cAAc,mCAAmC,CAAA;AAGjD,cAAc,kBAAkB,CAAA;AAChC,cAAc,yBAAyB,CAAA;AACvC,cAAc,wBAAwB,CAAA;AACtC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,6BAA6B,CAAA;AAC3C,cAAc,wBAAwB,CAAA;AACtC,cAAc,yBAAyB,CAAA;AACvC,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAA;AAEvE,cAAc,iCAAiC,CAAA;AAC/C,cAAc,sCAAsC,CAAA;AAEpD,cAAc,qCAAqC,CAAA;AACnD,cAAc,8BAA8B,CAAA;AAC5C,cAAc,iCAAiC,CAAA;AAC/C,cAAc,sCAAsC,CAAA;AAEpD,cAAc,WAAW,CAAA;AACzB,cAAc,8BAA8B,CAAA;AAE5C,cAAc,yBAAyB,CAAA;AACvC,cAAc,8BAA8B,CAAA;AAE5C,cAAc,qBAAqB,CAAA;AACnC,cAAc,8BAA8B,CAAA;AAE5C,cAAc,uBAAuB,CAAA;AACrC,cAAc,gCAAgC,CAAA;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -52,4 +52,5 @@ export * from './api/cart/CartService.types';
|
|
|
52
52
|
export * from './utils/mapProducts';
|
|
53
53
|
export * from './utils/mapIncludedResources';
|
|
54
54
|
export * from './utils/generalHelper';
|
|
55
|
+
export * from './utils/clearUserScopedQueries';
|
|
55
56
|
export { useUrlModal } from './auth/hooks/useUrlModal';
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { QueryClient } from '@tanstack/react-query';
|
|
2
|
+
/**
|
|
3
|
+
* React-query keys that are scoped to the currently logged-in user
|
|
4
|
+
* (prices, cart, wishlist, orders, profile). On logout these must be dropped
|
|
5
|
+
* so the data is not shown to the next (anonymous / different) user.
|
|
6
|
+
*/
|
|
7
|
+
export declare const USER_SCOPED_QUERY_KEYS: readonly ["products", "user", "userCart", "cart", "wishlist", "orderHistory", "order"];
|
|
8
|
+
/**
|
|
9
|
+
* Removes all user-scoped queries defined in core from the cache.
|
|
10
|
+
* Call on logout (after clearing the token) or when switching users.
|
|
11
|
+
*
|
|
12
|
+
* Usage:
|
|
13
|
+
* ```ts
|
|
14
|
+
* import { clearUserScopedQueries } from '@q2devel/q2-core'
|
|
15
|
+
*
|
|
16
|
+
* const onLogout = () => {
|
|
17
|
+
* // ... clear token / cookies
|
|
18
|
+
* clearUserScopedQueries(queryClient)
|
|
19
|
+
* }
|
|
20
|
+
* ```
|
|
21
|
+
*/
|
|
22
|
+
export declare const clearUserScopedQueries: (queryClient: QueryClient) => void;
|
|
23
|
+
//# sourceMappingURL=clearUserScopedQueries.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clearUserScopedQueries.d.ts","sourceRoot":"","sources":["../../utils/clearUserScopedQueries.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAEnD;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,wFAQzB,CAAA;AAEV;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,sBAAsB,GAAI,aAAa,WAAW,KAAG,IAIjE,CAAA"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* React-query keys that are scoped to the currently logged-in user
|
|
3
|
+
* (prices, cart, wishlist, orders, profile). On logout these must be dropped
|
|
4
|
+
* so the data is not shown to the next (anonymous / different) user.
|
|
5
|
+
*/
|
|
6
|
+
export const USER_SCOPED_QUERY_KEYS = [
|
|
7
|
+
'products',
|
|
8
|
+
'user',
|
|
9
|
+
'userCart',
|
|
10
|
+
'cart',
|
|
11
|
+
'wishlist',
|
|
12
|
+
'orderHistory',
|
|
13
|
+
'order',
|
|
14
|
+
];
|
|
15
|
+
/**
|
|
16
|
+
* Removes all user-scoped queries defined in core from the cache.
|
|
17
|
+
* Call on logout (after clearing the token) or when switching users.
|
|
18
|
+
*
|
|
19
|
+
* Usage:
|
|
20
|
+
* ```ts
|
|
21
|
+
* import { clearUserScopedQueries } from '@q2devel/q2-core'
|
|
22
|
+
*
|
|
23
|
+
* const onLogout = () => {
|
|
24
|
+
* // ... clear token / cookies
|
|
25
|
+
* clearUserScopedQueries(queryClient)
|
|
26
|
+
* }
|
|
27
|
+
* ```
|
|
28
|
+
*/
|
|
29
|
+
export const clearUserScopedQueries = (queryClient) => {
|
|
30
|
+
USER_SCOPED_QUERY_KEYS.forEach((key) => {
|
|
31
|
+
queryClient.removeQueries({ queryKey: [key] });
|
|
32
|
+
});
|
|
33
|
+
};
|