fix(): temporary transform cached data (#13467)
**What** Properly store key obj reference for weak map usage
This commit is contained in:
@@ -0,0 +1,6 @@
|
|||||||
|
---
|
||||||
|
"@medusajs/orchestration": patch
|
||||||
|
"@medusajs/workflows-sdk": patch
|
||||||
|
---
|
||||||
|
|
||||||
|
fix(): temporary transform cached data
|
||||||
@@ -311,16 +311,16 @@ class DistributedTransaction extends EventEmitter {
|
|||||||
await DistributedTransaction.keyValueStore.clearStepTimeout(this, step)
|
await DistributedTransaction.keyValueStore.clearStepTimeout(this, step)
|
||||||
}
|
}
|
||||||
|
|
||||||
public setTemporaryData(key: string, value: unknown) {
|
public setTemporaryData(key: { key: string }, value: unknown) {
|
||||||
this.#temporaryStorage.set({ key }, value)
|
this.#temporaryStorage.set(key, value)
|
||||||
}
|
}
|
||||||
|
|
||||||
public getTemporaryData(key: string) {
|
public getTemporaryData(key: { key: string }) {
|
||||||
return this.#temporaryStorage.get({ key })
|
return this.#temporaryStorage.get(key)
|
||||||
}
|
}
|
||||||
|
|
||||||
public hasTemporaryData(key: string) {
|
public hasTemporaryData(key: { key: string }) {
|
||||||
return this.#temporaryStorage.has({ key })
|
return this.#temporaryStorage.has(key)
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -167,6 +167,7 @@ export function transform(
|
|||||||
const ret = {
|
const ret = {
|
||||||
__id: uniqId,
|
__id: uniqId,
|
||||||
__type: OrchestrationUtils.SymbolWorkflowStepTransformer,
|
__type: OrchestrationUtils.SymbolWorkflowStepTransformer,
|
||||||
|
__temporary_storage_key: null as { key: string } | null,
|
||||||
}
|
}
|
||||||
|
|
||||||
const returnFn = async function (
|
const returnFn = async function (
|
||||||
@@ -175,9 +176,16 @@ export function transform(
|
|||||||
): Promise<any> {
|
): Promise<any> {
|
||||||
if ("transaction" in transactionContext) {
|
if ("transaction" in transactionContext) {
|
||||||
const temporaryDataKey = `${transactionContext.transaction.modelId}_${transactionContext.transaction.transactionId}_${uniqId}`
|
const temporaryDataKey = `${transactionContext.transaction.modelId}_${transactionContext.transaction.transactionId}_${uniqId}`
|
||||||
|
ret.__temporary_storage_key ??= { key: temporaryDataKey }
|
||||||
|
|
||||||
if (transactionContext.transaction.hasTemporaryData(temporaryDataKey)) {
|
if (
|
||||||
return transactionContext.transaction.getTemporaryData(temporaryDataKey)
|
transactionContext.transaction.hasTemporaryData(
|
||||||
|
ret.__temporary_storage_key
|
||||||
|
)
|
||||||
|
) {
|
||||||
|
return transactionContext.transaction.getTemporaryData(
|
||||||
|
ret.__temporary_storage_key
|
||||||
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -195,7 +203,10 @@ export function transform(
|
|||||||
}
|
}
|
||||||
|
|
||||||
if ("transaction" in transactionContext) {
|
if ("transaction" in transactionContext) {
|
||||||
const temporaryDataKey = `${transactionContext.transaction.modelId}_${transactionContext.transaction.transactionId}_${uniqId}`
|
const temporaryDataKey = ret.__temporary_storage_key!
|
||||||
|
if (!temporaryDataKey) {
|
||||||
|
return finalResult
|
||||||
|
}
|
||||||
|
|
||||||
transactionContext.transaction.setTemporaryData(
|
transactionContext.transaction.setTemporaryData(
|
||||||
temporaryDataKey,
|
temporaryDataKey,
|
||||||
|
|||||||
Reference in New Issue
Block a user