From 1a7f74f7655cb61306792bd62bfea02f44e8d9e5 Mon Sep 17 00:00:00 2001 From: Kimmo Puputti Date: Fri, 29 Sep 2017 14:18:29 +0300 Subject: [PATCH] Add tx state helpers --- src/util/propTypes.js | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/util/propTypes.js b/src/util/propTypes.js index 2529bd6c..8619e2a5 100644 --- a/src/util/propTypes.js +++ b/src/util/propTypes.js @@ -163,6 +163,22 @@ export const TX_TRANSITIONS = [ TX_TRANSITION_MARK_DELIVERED, ]; +const txLastTransition = tx => { + return tx && tx.attributes && tx.attributes.lastTransition ? tx.attributes.lastTransition : null; +}; + +export const txIsPreauthorized = tx => txLastTransition(tx) === TX_TRANSITION_PREAUTHORIZE; + +export const txIsAccepted = tx => txLastTransition(tx) === TX_TRANSITION_ACCEPT; + +export const txIsRejected = tx => txLastTransition(tx) === TX_TRANSITION_REJECT; + +export const txIsAutorejected = tx => txLastTransition(tx) === TX_TRANSITION_AUTO_REJECT; + +export const txIsRejectedOrAutorejected = tx => txIsRejected(tx) || txIsAutorejected(tx); + +export const txIsDelivered = tx => txLastTransition(tx) === TX_TRANSITION_MARK_DELIVERED; + // Denormalised transaction object export const transaction = shape({ id: uuid.isRequired,