Files
web/apps/scandic-web/services/dataCache/DistributedCache/generateCacheKey/getPrefix.ts
Joakim Jäderberg a95ef65d02 Merged in feat/use-hash-for-graphql-cache (pull request #2251)
Feature: Use hash of query+variables for graphql cache instead of gitsha

* feature: use a hash of query+variables as part of the cache key instead of gitsha

* .

* Merge branch 'master' of bitbucket.org:scandic-swap/web into feat/use-hash-for-graphql-cache

* use correct json stringify

* merge

* remove edgeRequest in favor of request

* add more indicative logging


Approved-by: Linus Flood
2025-06-03 06:39:04 +00:00

43 lines
1022 B
TypeScript

import { env } from "@/env/server"
import { getBranchPrefix } from "./getBranchPrefix"
export function getPrefix(options: {
includeGitHashInKey: boolean
includeBranchPrefix: boolean
}): string {
const prefixTokens = []
const includeGitHashInKey = options.includeGitHashInKey
const includeBranchPrefix = options.includeBranchPrefix
if (process.env.NODE_ENV === "development") {
const devPrefix = process.env.USER || process.env.USERNAME || "dev"
return `${devPrefix}`
}
if (includeGitHashInKey) {
const gitSha = env.GIT_SHA?.trim().substring(0, 7)
if (!gitSha) {
throw new Error("Unable to getPrefix, GIT_SHA must be set")
}
prefixTokens.push(gitSha)
}
if (includeBranchPrefix) {
const branch = env.BRANCH?.trim()
if (!branch) {
throw new Error("Unable to getPrefix, BRANCH must be set")
}
const branchPrefix = getBranchPrefix(branch)
if (branchPrefix) {
prefixTokens.push(branchPrefix)
}
}
return prefixTokens.join(":")
}