@lomray/microservice-payment-stripe
Version:
Stripe payment microservice based on NodeJS & inverted json.
40 lines (36 loc) • 1.07 kB
JavaScript
;
var tslib = require('tslib');
var typeorm = require('typeorm');
var promoCode = require('../entities/promo-code.js');
var stripe = require('../services/payment-gateway/stripe.js');
/**
* Promo code subscriber
*/
let PromoCode = class PromoCode {
/**
* This subscriber only for promo code entity
*/
listenTo() {
return promoCode;
}
/**
* Create stripe promo code and attach stripe id to entity
*/
beforeInsert({ entity, manager }) {
return tslib.__awaiter(this, void 0, void 0, function* () {
const service = yield stripe.init(manager);
const { id, code } = yield service.createPromoCode({
couponId: entity.couponId,
code: entity.code,
maxRedemptions: entity.maxRedemptions || undefined,
});
entity.code = code;
entity.promoCodeId = id;
});
}
};
PromoCode = tslib.__decorate([
typeorm.EventSubscriber()
], PromoCode);
var PromoCode$1 = PromoCode;
module.exports = PromoCode$1;