Merged in fix/redis-delete (pull request #3271)
feat(redis): include git hash when deleting without fuzzy * feat(redis): include git hash when deleting without fuzzy * Refactor Approved-by: Joakim Jäderberg
This commit is contained in:
@@ -4,12 +4,25 @@ import { env } from "../../env/server"
|
||||
import { safeTry } from "../../utils/safeTry"
|
||||
import { cacheLogger } from "../logger"
|
||||
import { getDeleteMultipleKeysEndpoint } from "./endpoints"
|
||||
import { generateCacheKey } from "./generateCacheKey"
|
||||
|
||||
const API_KEY = env.REDIS_API_KEY ?? ""
|
||||
export async function deleteKeys(keys: string[], opts?: { fuzzy?: boolean }) {
|
||||
export async function deleteKeys(
|
||||
keys: string[],
|
||||
opts?: { fuzzy?: boolean; includeGitHashInKey?: boolean }
|
||||
) {
|
||||
const perf = performance.now()
|
||||
const endpoint = getDeleteMultipleKeysEndpoint()
|
||||
|
||||
let cacheKeys: string[] = keys
|
||||
if (opts?.includeGitHashInKey) {
|
||||
cacheKeys = keys.map((key) =>
|
||||
generateCacheKey(key, {
|
||||
includeGitHashInKey: true,
|
||||
})
|
||||
)
|
||||
}
|
||||
|
||||
const [response, error] = await safeTry(
|
||||
fetch(endpoint, {
|
||||
method: "DELETE",
|
||||
@@ -18,7 +31,7 @@ export async function deleteKeys(keys: string[], opts?: { fuzzy?: boolean }) {
|
||||
"Content-Type": "application/json",
|
||||
"x-api-key": API_KEY,
|
||||
},
|
||||
body: JSON.stringify({ keys, fuzzy: opts?.fuzzy ?? false }),
|
||||
body: JSON.stringify({ keys: cacheKeys, fuzzy: opts?.fuzzy ?? false }),
|
||||
signal: AbortSignal.timeout(10_000),
|
||||
})
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user