@lomray/microservice-payment-stripe
Version:
Stripe payment microservice based on NodeJS & inverted json.
65 lines (61 loc) • 2.14 kB
JavaScript
;
var tslib = require('tslib');
var microserviceHelpers = require('@lomray/microservice-helpers');
var classTransformer = require('class-transformer');
var classValidator = require('class-validator');
var bankAccount = require('../../entities/bank-account.js');
var stripe = require('../../services/payment-gateway/stripe.js');
class BankAccountAddInput {
}
tslib.__decorate([
classValidator.IsString(),
tslib.__metadata("design:type", String)
], BankAccountAddInput.prototype, "userId", void 0);
tslib.__decorate([
classValidator.IsString(),
tslib.__metadata("design:type", String)
], BankAccountAddInput.prototype, "lastDigits", void 0);
tslib.__decorate([
classValidator.IsString(),
microserviceHelpers.IsUndefinable(),
microserviceHelpers.IsNullable(),
tslib.__metadata("design:type", Object)
], BankAccountAddInput.prototype, "holderName", void 0);
tslib.__decorate([
classValidator.IsString(),
microserviceHelpers.IsUndefinable(),
microserviceHelpers.IsNullable(),
tslib.__metadata("design:type", Object)
], BankAccountAddInput.prototype, "bankName", void 0);
tslib.__decorate([
classValidator.IsString(),
microserviceHelpers.IsUndefinable(),
tslib.__metadata("design:type", String)
], BankAccountAddInput.prototype, "bankAccountId", void 0);
class BankAccountAddOutput {
}
tslib.__decorate([
classValidator.IsObject(),
classTransformer.Type(() => bankAccount),
tslib.__metadata("design:type", bankAccount)
], BankAccountAddOutput.prototype, "entity", void 0);
/**
* Add new bank account
*/
const add = microserviceHelpers.Endpoint.custom(() => ({
input: BankAccountAddInput,
output: BankAccountAddOutput,
description: 'Add new bank account',
}), ({ userId, bankName, holderName, bankAccountId, lastDigits }) => tslib.__awaiter(void 0, void 0, void 0, function* () {
const service = yield stripe.init();
return {
entity: yield service.addBankAccount({
userId,
bankName,
holderName,
bankAccountId,
lastDigits,
}),
};
}));
module.exports = add;