41 lines
1.3 KiB
TypeScript
41 lines
1.3 KiB
TypeScript
import { AnalyticsSDK } from "src/shared/analytics/sdk";
|
|
import { MeilisearchSDK } from "src/shared/meilisearch/sdk";
|
|
import { ContextCache } from "src/cache/contextCache";
|
|
import { DataCache } from "src/cache/dataCache";
|
|
import { PageCache } from "src/cache/pageCache";
|
|
import { TokenCache } from "src/cache/tokenCache";
|
|
import { PayloadSDK } from "src/shared/payload/sdk";
|
|
|
|
export const meilisearch = new MeilisearchSDK(
|
|
import.meta.env.MEILISEARCH_URL,
|
|
import.meta.env.MEILISEARCH_MASTER_KEY
|
|
);
|
|
|
|
export const analytics = new AnalyticsSDK(import.meta.env.ANALYTICS_URL);
|
|
|
|
const tokenCache = new TokenCache();
|
|
|
|
export const payload = new PayloadSDK(
|
|
import.meta.env.PAYLOAD_API_URL,
|
|
import.meta.env.PAYLOAD_USER,
|
|
import.meta.env.PAYLOAD_PASSWORD
|
|
);
|
|
payload.addTokenCache(tokenCache);
|
|
|
|
const uncachedPayload = new PayloadSDK(
|
|
import.meta.env.PAYLOAD_API_URL,
|
|
import.meta.env.PAYLOAD_USER,
|
|
import.meta.env.PAYLOAD_PASSWORD
|
|
);
|
|
uncachedPayload.addTokenCache(tokenCache);
|
|
export const pageCache = new PageCache(uncachedPayload);
|
|
|
|
// Loading context cache first so that the server can still serve responses while precaching.
|
|
export const contextCache = new ContextCache(payload);
|
|
await contextCache.init();
|
|
|
|
export const dataCache = new DataCache(payload, uncachedPayload, (urls) =>
|
|
pageCache.invalidate(urls)
|
|
);
|
|
payload.addDataCache(dataCache);
|