Skip to main content

Class: IdempotencyKeyService

Hierarchy

  • TransactionBaseServiceCopy to Clipboard

    IdempotencyKeyServiceCopy to Clipboard

Constructors

constructor

new IdempotencyKeyService(__namedParametersCopy to Clipboard)

Parameters

NameType
__namedParametersCopy to ClipboardInjectedDependenciesCopy to Clipboard

Overrides

TransactionBaseService.constructor

Defined in

packages/medusa/src/services/idempotency-key.ts:25

Properties

__configModule__

ProtectedCopy to Clipboard OptionalCopy to Clipboard ReadonlyCopy to Clipboard __configModule__: RecordCopy to Clipboard<stringCopy to Clipboard, unknownCopy to Clipboard>

Inherited from

TransactionBaseService.__configModule__

Defined in

packages/medusa/src/interfaces/transaction-base-service.ts:10


__container__

ProtectedCopy to Clipboard ReadonlyCopy to Clipboard __container__: anyCopy to Clipboard

Inherited from

TransactionBaseService.__container__

Defined in

packages/medusa/src/interfaces/transaction-base-service.ts:9


__moduleDeclaration__

ProtectedCopy to Clipboard OptionalCopy to Clipboard ReadonlyCopy to Clipboard __moduleDeclaration__: RecordCopy to Clipboard<stringCopy to Clipboard, unknownCopy to Clipboard>

Inherited from

TransactionBaseService.__moduleDeclaration__

Defined in

packages/medusa/src/interfaces/transaction-base-service.ts:11


idempotencyKeyRepository_

ProtectedCopy to Clipboard ReadonlyCopy to Clipboard idempotencyKeyRepository_: typeof IdempotencyKeyRepositoryCopy to Clipboard

Defined in

packages/medusa/src/services/idempotency-key.ts:23


manager_

ProtectedCopy to Clipboard manager_: EntityManagerCopy to Clipboard

Overrides

TransactionBaseService.manager_

Defined in

packages/medusa/src/services/idempotency-key.ts:20


transactionManager_

ProtectedCopy to Clipboard transactionManager_: undefinedCopy to Clipboard | EntityManagerCopy to Clipboard

Overrides

TransactionBaseService.transactionManager_

Defined in

packages/medusa/src/services/idempotency-key.ts:21

Methods

atomicPhase_

ProtectedCopy to Clipboard atomicPhase_<TResultCopy to Clipboard, TErrorCopy to Clipboard>(workCopy to Clipboard, isolationOrErrorHandler?Copy to Clipboard, maybeErrorHandlerOrDontFail?Copy to Clipboard): PromiseCopy to Clipboard<TResultCopy to Clipboard>

Wraps some work within a transactional block. If the service already has a transaction manager attached this will be reused, otherwise a new transaction manager is created.

Type parameters

Name
TResultCopy to Clipboard
TErrorCopy to Clipboard

Parameters

NameTypeDescription
workCopy to Clipboard(transactionManagerCopy to Clipboard: EntityManagerCopy to Clipboard) => PromiseCopy to Clipboard<TResultCopy to Clipboard>the transactional work to be done
isolationOrErrorHandler?Copy to ClipboardIsolationLevelCopy to Clipboard | (errorCopy to Clipboard: TErrorCopy to Clipboard) => PromiseCopy to Clipboard<voidCopy to Clipboard | TResultCopy to Clipboard>the isolation level to be used for the work.
maybeErrorHandlerOrDontFail?Copy to Clipboard(errorCopy to Clipboard: TErrorCopy to Clipboard) => PromiseCopy to Clipboard<voidCopy to Clipboard | TResultCopy to Clipboard>Potential error handler

Returns

PromiseCopy to Clipboard<TResultCopy to Clipboard>

the result of the transactional work

Inherited from

TransactionBaseService.atomicPhase_

Defined in

packages/medusa/src/interfaces/transaction-base-service.ts:50


create

create(payloadCopy to Clipboard): PromiseCopy to Clipboard<IdempotencyKeyCopy to Clipboard>

Creates an idempotency key for a request. If no idempotency key is provided in request, we will create a unique identifier.

Parameters

NameTypeDescription
payloadCopy to ClipboardCreateIdempotencyKeyInputCopy to Clipboardpayload of request to create idempotency key for

Returns

PromiseCopy to Clipboard<IdempotencyKeyCopy to Clipboard>

the created idempotency key

Defined in

packages/medusa/src/services/idempotency-key.ts:67


initializeRequest

initializeRequest(headerKeyCopy to Clipboard, reqMethodCopy to Clipboard, reqParamsCopy to Clipboard, reqPathCopy to Clipboard): PromiseCopy to Clipboard<IdempotencyKeyCopy to Clipboard>

Execute the initial steps in a idempotent request.

Parameters

NameTypeDescription
headerKeyCopy to ClipboardstringCopy to Clipboardpotential idempotency key from header
reqMethodCopy to ClipboardstringCopy to Clipboardmethod of request
reqParamsCopy to ClipboardRecordCopy to Clipboard<stringCopy to Clipboard, unknownCopy to Clipboard>params of request
reqPathCopy to ClipboardstringCopy to Clipboardpath of request

Returns

PromiseCopy to Clipboard<IdempotencyKeyCopy to Clipboard>

the existing or created idempotency key

Defined in

packages/medusa/src/services/idempotency-key.ts:41


lock

lock(idempotencyKeyCopy to Clipboard): PromiseCopy to Clipboard<IdempotencyKeyCopy to Clipboard>

Locks an idempotency.

Parameters

NameTypeDescription
idempotencyKeyCopy to ClipboardstringCopy to Clipboardkey to lock

Returns

PromiseCopy to Clipboard<IdempotencyKeyCopy to Clipboard>

result of the update operation

Defined in

packages/medusa/src/services/idempotency-key.ts:116


retrieve

retrieve(idempotencyKeyCopy to Clipboard): PromiseCopy to Clipboard<IdempotencyKeyCopy to Clipboard>

Retrieves an idempotency key

Parameters

NameTypeDescription
idempotencyKeyCopy to ClipboardstringCopy to Clipboardkey to retrieve

Returns

PromiseCopy to Clipboard<IdempotencyKeyCopy to Clipboard>

idempotency key

Defined in

packages/medusa/src/services/idempotency-key.ts:85


shouldRetryTransaction_

ProtectedCopy to Clipboard shouldRetryTransaction_(errCopy to Clipboard): booleanCopy to Clipboard

Parameters

NameType
errCopy to ClipboardRecordCopy to Clipboard<stringCopy to Clipboard, unknownCopy to Clipboard> | { codeCopy to Clipboard: stringCopy to Clipboard }

Returns

booleanCopy to Clipboard

Inherited from

TransactionBaseService.shouldRetryTransaction_

Defined in

packages/medusa/src/interfaces/transaction-base-service.ts:31


update

update(idempotencyKeyCopy to Clipboard, updateCopy to Clipboard): PromiseCopy to Clipboard<IdempotencyKeyCopy to Clipboard>

Locks an idempotency.

Parameters

NameTypeDescription
idempotencyKeyCopy to ClipboardstringCopy to Clipboardkey to update
updateCopy to ClipboardObjectCopy to Clipboardupdate object
update.created_at?Copy to Clipboard{ toString?: {} | undefined; toDateString?: {} | undefined; toTimeString?: {} | undefined; toLocaleString?: {} | undefined; toLocaleDateString?: {} | undefined; toLocaleTimeString?: {} | undefined; ... 37 more ...; [Symbol.toPrimitive]?: {} | undefined; }-
update.id?Copy to ClipboardstringCopy to Clipboard-
update.idempotency_key?Copy to ClipboardstringCopy to Clipboard-
update.locked_at?Copy to Clipboard{ toString?: {} | undefined; toDateString?: {} | undefined; toTimeString?: {} | undefined; toLocaleString?: {} | undefined; toLocaleDateString?: {} | undefined; toLocaleTimeString?: {} | undefined; ... 37 more ...; [Symbol.toPrimitive]?: {} | undefined; }-
update.recovery_point?Copy to ClipboardstringCopy to Clipboard-
update.request_method?Copy to ClipboardstringCopy to Clipboard-
update.request_params?Copy to Clipboard{ [x: string]: unknown; }-
update.request_path?Copy to ClipboardstringCopy to Clipboard-
update.response_body?Copy to Clipboard{ [x: string]: unknown; }-
update.response_code?Copy to ClipboardnumberCopy to Clipboard-

Returns

PromiseCopy to Clipboard<IdempotencyKeyCopy to Clipboard>

result of the update operation

Defined in

packages/medusa/src/services/idempotency-key.ts:145


withTransaction

withTransaction(transactionManager?Copy to Clipboard): IdempotencyKeyServiceCopy to Clipboard

Parameters

NameType
transactionManager?Copy to ClipboardEntityManagerCopy to Clipboard

Returns

IdempotencyKeyServiceCopy to Clipboard

Inherited from

TransactionBaseService.withTransaction

Defined in

packages/medusa/src/interfaces/transaction-base-service.ts:14


workStage

workStage(idempotencyKeyCopy to Clipboard, callbackCopy to Clipboard): PromiseCopy to Clipboard<IdempotencyKeyCopy to Clipboard>

Performs an atomic work stage. An atomic work stage contains some related functionality, that needs to be transactionally executed in isolation. An idempotent request will always consist of 2 or more of these phases. The required phases are "started" and "finished".

Parameters

NameTypeDescription
idempotencyKeyCopy to ClipboardstringCopy to Clipboardcurrent idempotency key
callbackCopy to Clipboard(transactionManagerCopy to Clipboard: EntityManagerCopy to Clipboard) => PromiseCopy to Clipboard<IdempotencyCallbackResultCopy to Clipboard>functionality to execute within the phase

Returns

PromiseCopy to Clipboard<IdempotencyKeyCopy to Clipboard>

new updated idempotency key

Defined in

packages/medusa/src/services/idempotency-key.ts:174