diff --git a/.changeset/late-rocks-design.md b/.changeset/late-rocks-design.md new file mode 100644 index 0000000000..b5cb407b45 --- /dev/null +++ b/.changeset/late-rocks-design.md @@ -0,0 +1,5 @@ +--- +"@medusajs/medusa": patch +--- + +fix(medusa): if no headerkey is provided when initilizing idempotency key, no attempt is made at fetching the key diff --git a/packages/medusa/src/services/idempotency-key.ts b/packages/medusa/src/services/idempotency-key.ts index 998ce8f701..d50f24eae3 100644 --- a/packages/medusa/src/services/idempotency-key.ts +++ b/packages/medusa/src/services/idempotency-key.ts @@ -1,16 +1,17 @@ -import { isDefined, MedusaError } from "medusa-core-utils" -import { v4 } from "uuid" -import { TransactionBaseService } from "../interfaces" -import { DeepPartial, EntityManager } from "typeorm" -import { IdempotencyKeyRepository } from "../repositories/idempotency-key" -import { IdempotencyKey } from "../models" import { CreateIdempotencyKeyInput, IdempotencyCallbackResult, } from "../types/idempotency-key" -import { Selector } from "../types/common" +import { DeepPartial, EntityManager } from "typeorm" +import { MedusaError, isDefined } from "medusa-core-utils" import { buildQuery, isString } from "../utils" +import { IdempotencyKey } from "../models" +import { IdempotencyKeyRepository } from "../repositories/idempotency-key" +import { Selector } from "../types/common" +import { TransactionBaseService } from "../interfaces" +import { v4 } from "uuid" + const KEY_LOCKED_TIMEOUT = 1000 type InjectedDependencies = { @@ -43,9 +44,11 @@ class IdempotencyKeyService extends TransactionBaseService { reqPath: string ): Promise { return await this.atomicPhase_(async () => { - const key = await this.retrieve(headerKey).catch(() => void 0) - if (key) { - return key + if (headerKey) { + const key = await this.retrieve(headerKey).catch(() => void 0) + if (key) { + return key + } } return await this.create({ request_method: reqMethod,