From 3171b0e518aebcaa31bbe5c6e914d65282873cda Mon Sep 17 00:00:00 2001 From: Philip Korsholm <88927411+pKorsholm@users.noreply.github.com> Date: Wed, 22 Mar 2023 21:34:50 +0100 Subject: [PATCH] feat(medusa): add if statement to idempotency-key initialize (#3555) * add if statement to idempotency-key initialize * add changeset --- .changeset/late-rocks-design.md | 5 ++++ .../medusa/src/services/idempotency-key.ts | 23 +++++++++++-------- 2 files changed, 18 insertions(+), 10 deletions(-) create mode 100644 .changeset/late-rocks-design.md 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,