'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 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); const cardholder = await stripe.issuing.cardholders.create(ReqParam); /* const cardholder = await stripe.issuing.cardholders.create( { name: name_line, email: email_line, 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, }, }, } ); */ console.log(cardholder); let resultItem = { "result": cardholder, "total_record": 0 } next(null, resultItem); // pass control to the next handler /* const cardholder = await stripe.issuing.cardholders.create(ReqParam).then((callResult)=>{ console.log("Ameye **************************** AMEYE ----- "); console.log(callResult); let resultItem = { "result": callResult, "total_record": 0 } next(null, resultItem); // pass control to the next handler }); */ /* const cardholder = await stripe.issuing.cardholders.create({ name: req_data.name, email: 'ses66181@gmail.com', phone_number: '+18008675309', 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: result.rows[0].city, state: result.rows[0].state, postal_code: result.rows[0].postal_code, country: result.rows[0].country, }, }, }).then((cardholder)=>{ 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 } }); // // const cardholder = await stripe.issuing.cardholders.create({ // name: 'Jenny Rosen', // email: 'jenny.rosen@example.com', // phone_number: '+18008675309', // status: 'active', // type: 'individual', // individual: { // first_name: 'Jenny', // 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', // }, // }, // }); // console.log(cardholder); // let resultItem = { // "result":cardholder, // "total_record":0 // } // next(null, resultItem); // pass control to the next handler // res.status(200).json(saveUser); } 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;