@lomray/microservice-payment-stripe
Version:
Stripe payment microservice based on NodeJS & inverted json.
44 lines (40 loc) • 1.21 kB
JavaScript
;
var tslib = require('tslib');
var microserviceNodejsLib = require('@lomray/microservice-nodejs-lib');
var typeorm = require('typeorm');
var coupon = require('../entities/coupon.js');
var stripe = require('../services/payment-gateway/stripe.js');
/**
* Coupon subscriber
*/
let Coupon = class Coupon {
/**
* This subscriber only for coupon entity
*/
listenTo() {
return coupon;
}
/**
* Handle coupon remove
*/
beforeRemove({ entity, manager }) {
return tslib.__awaiter(this, void 0, void 0, function* () {
if (!(entity === null || entity === void 0 ? void 0 : entity.couponId)) {
return;
}
const service = yield stripe.init(manager);
const isDeleted = yield service.removeCoupon(entity.couponId);
if (!isDeleted) {
throw new microserviceNodejsLib.BaseException({
status: 500,
message: "Can't remove coupon. Please try later.",
});
}
});
}
};
Coupon = tslib.__decorate([
typeorm.EventSubscriber()
], Coupon);
var Coupon$1 = Coupon;
module.exports = Coupon$1;