UNPKG

@lomray/microservice-payment-stripe

Version:

Stripe payment microservice based on NodeJS & inverted json.

54 lines (50 loc) 1.97 kB
'use strict'; var tslib = require('tslib'); var typeorm = require('typeorm'); var card = require('../entities/card.js'); var Card_1; let Card = Card_1 = class Card extends typeorm.Repository { /** * Returns card by card id * @description Uses to search related connect account (external account) data */ static getCardById(cardId, manager) { return manager .getRepository(card) .createQueryBuilder('card') .where("card.params ->> 'cardId' = :cardId", { cardId }) .getOne(); } /** * Returns extracted payment method from card * @description Support old payment method storage in params */ static extractPaymentMethodId({ paymentMethodId, params }) { return paymentMethodId || params.paymentMethodId || null; } /** * Returns card presentation by fingerprint */ static getCardDataByFingerprint({ userId, fingerprint, shouldExpandCard = false, manager = typeorm.getManager(), }) { return tslib.__awaiter(this, void 0, void 0, function* () { const notExistResult = { isExist: false }; if (!fingerprint) { return notExistResult; } const repository = manager.getRepository(card); const card$1 = yield repository.findOne(Object.assign(Object.assign({}, (shouldExpandCard ? {} : { select: ['id', 'userId', 'paymentMethodId', 'params'] })), { where: { fingerprint, userId, } })); if (card$1) { return Object.assign({ isExist: true, type: Card_1.extractPaymentMethodId(card$1) ? 'paymentMethod' : 'externalAccount' }, (shouldExpandCard ? { entity: card$1 } : {})); } return notExistResult; }); } }; Card = Card_1 = tslib.__decorate([ typeorm.EntityRepository(card) ], Card); var CardRepository = Card; module.exports = CardRepository;