Skip to content

Commit 49fae72

Browse files
authored
feat(core): add caching for product and product listing
1 parent b447543 commit 49fae72

File tree

2 files changed

+54
-11
lines changed

2 files changed

+54
-11
lines changed
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
import { useGiftVoucherFilter } from '~~/utils/useGiftVoucherFilter';
2+
import { usePrepareRequest } from '~~/utils/usePrepareRequest';
3+
import { useStoreApiError } from '~~/utils/useStoreApiError';
4+
5+
export default defineCachedEventHandler(
6+
async (event) => {
7+
const { url, requestOptions } = await usePrepareRequest(event);
8+
9+
try {
10+
const response = await $fetch(url, requestOptions);
11+
12+
useGiftVoucherFilter(response);
13+
14+
return response;
15+
} catch (err) {
16+
throw useStoreApiError(err);
17+
}
18+
},
19+
{
20+
maxAge: 60 * 1 * 60,
21+
swr: true,
22+
varies: [
23+
'user-agent',
24+
'sw-access-key',
25+
'sw-language-id',
26+
'x-env',
27+
'sw-include-seo-urls',
28+
],
29+
},
30+
);
Lines changed: 24 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,30 @@
1+
import { useGiftVoucherFilter } from '~~/utils/useGiftVoucherFilter';
12
import { usePrepareRequest } from '~~/utils/usePrepareRequest';
23
import { useStoreApiError } from '~~/utils/useStoreApiError';
3-
import { useGiftVoucherFilter } from '~~/utils/useGiftVoucherFilter';
44

5-
export default defineEventHandler(async (event) => {
6-
const { url, requestOptions } = await usePrepareRequest(event);
5+
export default defineCachedEventHandler(
6+
async (event) => {
7+
const { url, requestOptions } = await usePrepareRequest(event);
78

8-
try {
9-
const response = await $fetch(url, requestOptions);
9+
try {
10+
const response = await $fetch(url, requestOptions);
1011

11-
useGiftVoucherFilter(response);
12+
useGiftVoucherFilter(response);
1213

13-
return response;
14-
} catch (err) {
15-
throw useStoreApiError(err);
16-
}
17-
});
14+
return response;
15+
} catch (err) {
16+
throw useStoreApiError(err);
17+
}
18+
},
19+
{
20+
maxAge: 60 * 1 * 60,
21+
swr: true,
22+
varies: [
23+
'user-agent',
24+
'sw-access-key',
25+
'sw-language-id',
26+
'x-env',
27+
'sw-include-seo-urls',
28+
],
29+
},
30+
);

0 commit comments

Comments
 (0)