fix: proper cache keys for refs

This commit is contained in:
Michael Zetterberg
2025-03-24 16:32:43 +01:00
parent 0e2192be0f
commit d236a6e8fd
8 changed files with 37 additions and 16 deletions

View File

@@ -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 () =>

View File

@@ -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",
},
},

View File

@@ -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",
}
)

View File

@@ -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",
}
)

View File

@@ -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",
}
)

View File

@@ -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",
}
)

View File

@@ -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",
}
)

View File

@@ -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",
}
)