UNPKG

@ngn-net/giftcard-shared

Version:

Shared library for gifts score microservices

97 lines 3.2 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.GiftCardSagaHelper = void 0; const constants_1 = require("./constants"); class GiftCardSagaHelper { static getPaymentSagaSteps() { return [ { event: constants_1.GiftCardEvents.GIFT_CARD_ORDER_CREATED, action: "payment", }, { event: constants_1.GiftCardEvents.GIFT_CARD_PAYMENT_DONE, action: "update", compensation: "100", }, { event: constants_1.GiftCardEvents.GIFT_CARD_PAYMENT_FAILED, action: "rollback", }, ]; } static getPurchaseSagaSteps() { return [ { event: constants_1.GiftCardEvents.GIFT_CARD_PAYMENT_DONE, action: "purchase", compensation: "100", }, { event: constants_1.GiftCardEvents.GIFT_CARD_PURCHASED, action: "update", compensation: "100", }, { event: constants_1.GiftCardEvents.GIFT_CARD_PURCHASE_FAILED, action: "rollback", } ]; } static getSagaAllSteps() { return [ { event: constants_1.GiftCardEvents.GIFT_CARD_ORDER_CREATED, action: "payment", }, { event: constants_1.GiftCardEvents.GIFT_CARD_PAYMENT_DONE, action: "purchase", compensation: "100", }, { event: constants_1.GiftCardEvents.GIFT_CARD_PAYMENT_FAILED, action: "rollback", }, { event: constants_1.GiftCardEvents.GIFT_CARD_PURCHASED, action: "update", compensation: "100", }, { event: constants_1.GiftCardEvents.GIFT_CARD_PURCHASE_FAILED, action: "rollback", }, { event: constants_1.GiftCardEvents.GIFT_CARD_ORDER_SEND_NOTIFICATION, action: "send_notification", compensation: "100", }, { event: constants_1.GiftCardEvents.GIFT_CARD_ORDER_STORE_HISTORY, action: "store_history", compensation: "100", }, { event: constants_1.GiftCardEvents.GIFT_CARD_ORDER_FINALIZED, action: "finalize", compensation: "100", }, { event: constants_1.GiftCardEvents.GIFT_CARD_ORDER_FINALIZED_FAILED, action: "rollback", }, ]; } static validateEvent(event, data) { if (!Object.values(constants_1.GiftCardEvents).toString().includes(event)) { return false; } if (!data.id || !data.amount || !data.userId || !data.timestamp) { return false; } return true; } } exports.GiftCardSagaHelper = GiftCardSagaHelper; //# sourceMappingURL=saga-helper.js.map