UNPKG

@lomray/microservice-payment-stripe

Version:

Stripe payment microservice based on NodeJS & inverted json.

65 lines (61 loc) 2.14 kB
'use strict'; 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;