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(":") }