From c793d0e0eadd1bbc35cdf8a9d425507d48f3665d Mon Sep 17 00:00:00 2001 From: "CHIEFSOFT\\ameye" Date: Thu, 31 Oct 2024 17:03:30 -0400 Subject: [PATCH] card_activated --- api/routes/route.js | 5 ++- service/cards.js | 91 +++++++++++++++++++++++++++++++++++++++++---- 2 files changed, 87 insertions(+), 9 deletions(-) diff --git a/api/routes/route.js b/api/routes/route.js index 693b208..04c6e27 100644 --- a/api/routes/route.js +++ b/api/routes/route.js @@ -12,11 +12,12 @@ module.exports = function(app) { .post(cardsControllers.acceptCardTerms); app.route('/createcard') .post(cardsControllers.createCard); + app.route('/activate') + .post(cardsControllers.activateCard); app.route('/create') .post(cardsControllers.acceptCardTerms); - app.route('/activate') - .post(cardsControllers.activateCard); + // app.route('/eventSendMoney') // .post(controller.activateCard); diff --git a/service/cards.js b/service/cards.js index 876a21a..faf7338 100644 --- a/service/cards.js +++ b/service/cards.js @@ -8,6 +8,7 @@ const CARD_REQUESTED = 1; const CARD_HOLDER_CREATED = 10; const CARD_OWNER_ACTIVE = 30; const CARD_ASSIGNED = 40; +const CARD_ACTIVATE_CARD = 50; //const User = require("../app/model/cardModel.js"); const stripe = require('stripe')(process.env.STRIPE_SECRET_KEY); @@ -280,14 +281,90 @@ var cards = { } next(null, resultItem ); // pass control to the next handler }, - activateCard: function (req, res, next) { + activateCard: async function (req, res, next) { - const card = stripe.issuing.cards.create({ - cardholder: cardholder.id, - currency: 'usd', - type: 'virtual', - status: 'active', - }); + try { + logger.info(req.body); + var data = { + "request_uid": req.body.request_uid, + "request_id": req.body.request_id, + }; + + let Qstring = " SELECT r.card_issue_id,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 = { + "card_issue_id": result.rows[0].card_issue_id.toString(), + "firstname": result.rows[0].firstname, + }; + + stripe.issuing.cards.update( + req_data.card_issue_id, + { + status: 'active', + } + ).then((card)=>{ + + if ( card.id !== undefined && card.id.length > 10 ){ + Qstring = " UPDATE members_card_request " + + " SET status = "+CARD_ACTIVATE_CARD+", updated = now() , card_activated = now() " + + " WHERE uid::text = '" + data.request_uid +"'"; + logger.info(Qstring); + db.query(Qstring, async function (err, result) { + let resultItem = { + "card": card, + "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} `}); + } + + + + + + + + + + + + + + + + + logger.info(req.body); + var data = { + "request_uid": req.body.request_uid, + "request_id": req.body.request_id, + "aggrement_ip": req.body.aggrement_ip, + }; + + + + const card = await stripe.issuing.cards.update( + 'ic_1Cm3paIyNTgGDVfzBqq1uqxR', + { + status: 'active', + } + ); let resultItem ={ "result": [],