@ngn-net/giftcard-shared
Version:
Shared library for gifts score microservices
97 lines • 3.2 kB
JavaScript
;
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