feat: add cache and cache revalidation to getHome

main
RaviAnand Mohabir 3 months ago
parent 85d8945eb1
commit 1fe7beba6f

@ -1,7 +1,12 @@
import type { Options } from "node_modules/payload/dist/globals/operations/local/findOne";
import { getPayload } from "@/utils/payload";
import { unstable_cache } from "next/cache";
export const getHome = async (opts: Omit<Options<"home">, "slug"> = {}) => {
export const getHome = unstable_cache(
async (opts: Omit<Options<"home">, "slug"> = {}) => {
const payload = await getPayload();
return await payload.findGlobal({ slug: "home", ...opts });
};
},
[],
{ revalidate: 60 * 60, tags: ["home"] },
);

@ -1,4 +1,5 @@
import type { GlobalConfig } from "payload";
import { revalidateTag } from "next/cache";
export const Home: GlobalConfig = {
slug: "home",
@ -23,4 +24,11 @@ export const Home: GlobalConfig = {
required: true,
},
],
hooks: {
afterChange: [
async () => {
revalidateTag("home");
},
],
},
};

Loading…
Cancel
Save