v3.accords-library.com/src/utils/cachedPayload.ts
2024-03-09 11:44:36 +01:00

25 lines
659 B
TypeScript

import { payload, type Language, type EndpointWording } from "src/shared/payload/payload-sdk";
type Cache = {
locales: Language[];
currencies: string[];
wordings: EndpointWording[];
};
const fetchNewData = async (): Promise<Cache> => ({
locales: await payload.getLanguages(),
currencies: (await payload.getCurrencies()).map(({ id }) => id),
wordings: await payload.getWordings(),
});
export let cache = await fetchNewData();
export const refreshWordings = async () => {
cache.wordings = await payload.getWordings();
};
setInterval(async () => {
console.log("Refreshing cached Payload data");
cache = await fetchNewData();
}, 1000_000);