'use strict'; const request = require('request'); const db = require('../app/db') const logger = require('../app/logger'); //const User = require("../app/model/cardModel.js"); const stripe = require('stripe')(process.env.STRIPE_SECRET_KEY); var cards = { createCard: async function (req, res, next) { try { logger.info(req.body); var data = { "request_uid": req.body.request_uid, "request_id": req.body.request_id, }; let Qstring = " SELECT r.*,m.firstname,m.lastname,m.email FROM members_card_request r " + " LEFT JOIN members m ON m.id=r.member_id " + " WHERE r.uid::text = '" + data.request_uid +"'"; logger.info(Qstring); db.query(Qstring, async function (err, result) { try { if (err) throw err; const req_data = { "name": result.rows[0].firstname.toString() + ' ' + result.rows[0].firstname.toString(), "firstname": result.rows[0].firstname, "lastname": result.rows[0].lastname, "phone_number": result.rows[0].phone_number, "email": result.rows[0].email, "address": result.rows[0].address, "city": result.rows[0].city, "state": result.rows[0].state, "postal_code": result.rows[0].postal_code, "country": result.rows[0].country, }; logger.info("READY FOR STRIPE CALL ",req_data); logger.info("READY FOR STRIPE CALL ************************************************************************ AFTER "); const DummyParam = { name: 'Dummy Rosen', email: 'jenny.rosen@example.com', phone_number: '+18008675309', status: 'active', type: 'individual', individual: { first_name: 'Dummy', last_name: 'Rosen', dob: {day: 1, month: 11, year: 1981}, }, billing: { address: { line1: '123 Main Street', city: 'San Francisco', state: 'CA', postal_code: '94111', country: 'US', }, }, }; const ReqParam = { name: req_data.name, email: req_data.email, phone_number: req_data.phone_number, status: 'active', type: 'individual', individual: { first_name: req_data.firstname, last_name: req_data.lastname, dob: {day: 1, month: 11, year: 1981}, }, billing: { address: { line1: req_data.address, city: req_data.city, state: req_data.state, postal_code: req_data.postal_code, country: req_data.country, }, }, }; logger.info("REQ=>", ReqParam); stripe.issuing.cardholders.create(ReqParam).then((cardholder) => { console.log(cardholder); let resultItem = { "result": cardholder, "total_record": 0 } next(null, resultItem); // pass control to the next handler }).catch((error) => { console.error(error); let resultItem = { "result": error, "total_record": 0 } next(null, resultItem); }); // const cardholder = await stripe.issuing.cardholders.create(DummyParam); // const cardholder = await stripe.issuing.cardholders.create(ReqParam); // console.log(cardholder); // let resultItem = { // "result": cardholder, // "total_record": 0 // } // next(null, resultItem); // pass control to the next handler } catch (e) { next(e.message, null); // pass control to the next handler } }); } catch (error) { await res.status(500).json({error: `Internal Server error 002 ${error} `}); } // let resultItem ={ // "result": bannerArray, // "total_record": 4 // } // next(null, resultItem ); // pass control to the next handler }, activateCard: function (req, res, next) { let resultItem ={ "result": [], "total_record": 5 } next(null, resultItem ); // pass control to the next handler }, }; module.exports = cards;