diff --git a/src/services/itemDataService.ts b/src/services/itemDataService.ts index e071111f..6e0edd23 100644 --- a/src/services/itemDataService.ts +++ b/src/services/itemDataService.ts @@ -185,14 +185,15 @@ export const getKeyChainMessage = ({ KeyChain, ChainStage }: IKeyChainRequest): throw new Error(`KeyChain ${KeyChain} does not contain chain stages`); } - const keyChainStage = chainStages[ChainStage]; - // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition - if (!keyChainStage) { - throw new Error(`KeyChainStage ${ChainStage} not found`); + let i = ChainStage; + let chainStageMessage = chainStages[i].messageToSendWhenTriggered; + while (!chainStageMessage) { + if (++i >= chainStages.length) { + break; + } + chainStageMessage = chainStages[i].messageToSendWhenTriggered; } - const chainStageMessage = keyChainStage.messageToSendWhenTriggered; - if (!chainStageMessage) { throw new Error( `client requested key chain message in keychain ${KeyChain} at stage ${ChainStage} but they did not exist`