From d236a6e8fdd1a1fbe64187f84d1270f5bdedb824 Mon Sep 17 00:00:00 2001 From: Michael Zetterberg Date: Mon, 24 Mar 2025 16:32:43 +0100 Subject: [PATCH] fix: proper cache keys for refs --- .../server/routers/contentstack/collectionPage/utils.ts | 8 ++++++-- .../server/routers/contentstack/contentPage/utils.ts | 8 ++++++-- .../routers/contentstack/destinationCityPage/query.ts | 4 ++-- .../routers/contentstack/destinationCountryPage/query.ts | 4 ++-- .../contentstack/destinationOverviewPage/query.ts | 4 ++-- .../server/routers/contentstack/hotelPage/utils.ts | 8 ++++++-- .../server/routers/contentstack/reward/utils.ts | 9 +++++++-- .../server/routers/contentstack/startPage/query.ts | 8 ++++++-- 8 files changed, 37 insertions(+), 16 deletions(-) diff --git a/apps/scandic-web/server/routers/contentstack/collectionPage/utils.ts b/apps/scandic-web/server/routers/contentstack/collectionPage/utils.ts index c68864745..6531d26b0 100644 --- a/apps/scandic-web/server/routers/contentstack/collectionPage/utils.ts +++ b/apps/scandic-web/server/routers/contentstack/collectionPage/utils.ts @@ -5,7 +5,11 @@ import { request } from "@/lib/graphql/request" import { notFound } from "@/server/errors/trpc" import { getCacheClient } from "@/services/dataCache" -import { generateTag, generateTagsFromSystem } from "@/utils/generateTag" +import { + generateRefsResponseTag, + generateTag, + generateTagsFromSystem, +} from "@/utils/generateTag" import { collectionPageRefsSchema } from "./output" @@ -44,7 +48,7 @@ export async function fetchCollectionPageRefs(lang: Lang, uid: string) { ) const cacheClient = await getCacheClient() - const cacheKey = generateTag(lang, uid) + const cacheKey = generateRefsResponseTag(lang, uid) const refsResponse = await cacheClient.cacheOrGet( cacheKey, async () => diff --git a/apps/scandic-web/server/routers/contentstack/contentPage/utils.ts b/apps/scandic-web/server/routers/contentstack/contentPage/utils.ts index 35f1dee41..e0866cab7 100644 --- a/apps/scandic-web/server/routers/contentstack/contentPage/utils.ts +++ b/apps/scandic-web/server/routers/contentstack/contentPage/utils.ts @@ -7,7 +7,11 @@ import { } from "@/lib/graphql/Query/ContentPage/ContentPage.graphql" import { notFound } from "@/server/errors/trpc" -import { generateTag, generateTagsFromSystem } from "@/utils/generateTag" +import { + generateRefsResponseTag, + generateTag, + generateTagsFromSystem, +} from "@/utils/generateTag" import { contentPageRefsSchema } from "./output" @@ -50,7 +54,7 @@ export async function fetchContentPageRefs(lang: Lang, uid: string) { document: GetContentPageRefs, variables: { locale: lang, uid }, cacheOptions: { - key: generateTag(lang, uid), + key: generateRefsResponseTag(lang, uid), ttl: "max", }, }, diff --git a/apps/scandic-web/server/routers/contentstack/destinationCityPage/query.ts b/apps/scandic-web/server/routers/contentstack/destinationCityPage/query.ts index 7987b494a..1ffc8197f 100644 --- a/apps/scandic-web/server/routers/contentstack/destinationCityPage/query.ts +++ b/apps/scandic-web/server/routers/contentstack/destinationCityPage/query.ts @@ -6,7 +6,7 @@ import { request } from "@/lib/graphql/request" import { notFound } from "@/server/errors/trpc" import { contentStackUidWithServiceProcedure, router } from "@/server/trpc" -import { generateTag } from "@/utils/generateTag" +import { generateRefsResponseTag } from "@/utils/generateTag" import { getCityByCityIdentifier } from "../../hotels/utils" import { @@ -46,7 +46,7 @@ export const destinationCityPageQueryRouter = router({ GetDestinationCityPageRefs, { locale: lang, uid }, { - key: generateTag(lang, uid), + key: generateRefsResponseTag(lang, uid), ttl: "max", } ) diff --git a/apps/scandic-web/server/routers/contentstack/destinationCountryPage/query.ts b/apps/scandic-web/server/routers/contentstack/destinationCountryPage/query.ts index 6712c85b7..3a5f58568 100644 --- a/apps/scandic-web/server/routers/contentstack/destinationCountryPage/query.ts +++ b/apps/scandic-web/server/routers/contentstack/destinationCountryPage/query.ts @@ -10,7 +10,7 @@ import { router, } from "@/server/trpc" -import { generateTag } from "@/utils/generateTag" +import { generateRefsResponseTag } from "@/utils/generateTag" import { getCityPagesInput } from "./input" import { @@ -51,7 +51,7 @@ export const destinationCountryPageQueryRouter = router({ GetDestinationCountryPageRefs, { locale: lang, uid }, { - key: generateTag(lang, uid), + key: generateRefsResponseTag(lang, uid), ttl: "max", } ) diff --git a/apps/scandic-web/server/routers/contentstack/destinationOverviewPage/query.ts b/apps/scandic-web/server/routers/contentstack/destinationOverviewPage/query.ts index c9ddc24df..633a84f77 100644 --- a/apps/scandic-web/server/routers/contentstack/destinationOverviewPage/query.ts +++ b/apps/scandic-web/server/routers/contentstack/destinationOverviewPage/query.ts @@ -10,7 +10,7 @@ import { serviceProcedure, } from "@/server/trpc" -import { generateTag } from "@/utils/generateTag" +import { generateRefsResponseTag, generateTag } from "@/utils/generateTag" import { safeTry } from "@/utils/safeTry" import { @@ -64,7 +64,7 @@ export const destinationOverviewPageQueryRouter = router({ uid, }, { - key: generateTag(lang, uid), + key: generateRefsResponseTag(lang, uid), ttl: "max", } ) diff --git a/apps/scandic-web/server/routers/contentstack/hotelPage/utils.ts b/apps/scandic-web/server/routers/contentstack/hotelPage/utils.ts index ea829b472..4013532cd 100644 --- a/apps/scandic-web/server/routers/contentstack/hotelPage/utils.ts +++ b/apps/scandic-web/server/routers/contentstack/hotelPage/utils.ts @@ -4,7 +4,11 @@ import { GetHotelPageUrls } from "@/lib/graphql/Query/HotelPage/HotelPageUrl.gra import { request } from "@/lib/graphql/request" import { notFound } from "@/server/errors/trpc" -import { generateTag, generateTagsFromSystem } from "@/utils/generateTag" +import { + generateRefsResponseTag, + generateTag, + generateTagsFromSystem, +} from "@/utils/generateTag" import { batchedHotelPageUrlsSchema, @@ -46,7 +50,7 @@ export async function fetchHotelPageRefs(lang: Lang, uid: string) { GetHotelPageRefs, { locale: lang, uid }, { - key: generateTag(lang, uid), + key: generateRefsResponseTag(lang, uid), ttl: "max", } ) diff --git a/apps/scandic-web/server/routers/contentstack/reward/utils.ts b/apps/scandic-web/server/routers/contentstack/reward/utils.ts index 4a2c2c087..81f501cb9 100644 --- a/apps/scandic-web/server/routers/contentstack/reward/utils.ts +++ b/apps/scandic-web/server/routers/contentstack/reward/utils.ts @@ -11,7 +11,10 @@ import { request } from "@/lib/graphql/request" import { notFound } from "@/server/errors/trpc" import { getCacheClient } from "@/services/dataCache" -import { generateLoyaltyConfigTag, generateTag } from "@/utils/generateTag" +import { + generateLoyaltyConfigTag, + generateRefsResponseTag, +} from "@/utils/generateTag" import { type ApiReward, @@ -243,7 +246,9 @@ export async function getCmsRewards(lang: Lang, rewardIds: string[]) { rewardIds, }, { - key: rewardIds.map((rewardId) => generateTag(lang, rewardId)), + key: rewardIds.map((rewardId) => + generateRefsResponseTag(lang, rewardId) + ), ttl: "max", } ) diff --git a/apps/scandic-web/server/routers/contentstack/startPage/query.ts b/apps/scandic-web/server/routers/contentstack/startPage/query.ts index d70624ff3..727ef50dd 100644 --- a/apps/scandic-web/server/routers/contentstack/startPage/query.ts +++ b/apps/scandic-web/server/routers/contentstack/startPage/query.ts @@ -6,7 +6,11 @@ import { request } from "@/lib/graphql/request" import { notFound } from "@/server/errors/trpc" import { contentstackExtendedProcedureUID, router } from "@/server/trpc" -import { generateTag, generateTagsFromSystem } from "@/utils/generateTag" +import { + generateRefsResponseTag, + generateTag, + generateTagsFromSystem, +} from "@/utils/generateTag" import { startPageRefsSchema, startPageSchema } from "./output" import { @@ -46,7 +50,7 @@ export const startPageQueryRouter = router({ uid, }, { - key: generateTag(lang, uid), + key: generateRefsResponseTag(lang, uid), ttl: "max", } )