lad cards

This commit is contained in:
CHIEFSOFT\ameye
2024-10-31 08:53:57 -04:00
parent 95a4f80d6c
commit 379617fe2d
3 changed files with 206 additions and 6 deletions
+30 -1
View File
@@ -2,10 +2,37 @@
//equire('../../package.json')
const cards = require('../../service/cards.js');
const CARD_REQUESTED =0;
const CARD_HOLDER_CREATED = 10;
const CARD_OWNER_ACTIVE = 30;
const CARD_ASSIGNED = 40;
//const logger = require('../../app/logger');
const cardsControllers = {
createApplications: function(req, res){
cards.createCardHolder(req, res, function (err, result) {
res.status(200).json({
'status': 'OK',
'internal_return': 0,
'result_list': result.result,
'total_record': result.total_record
})
}).then(r =>{
console.log(r);
});
},
createCardHolder: function(req, res){
cards.createCardHolder(req, res, function (err, result) {
res.status(200).json({
'status': 'OK',
'internal_return': 0,
'result_list': result.result,
'total_record': result.total_record
})
}).then(r =>{
console.log(r);
});
},
createCard: function (req, res) {
cards.createCard(req, res, function (err, result) {
res.status(200).json({
@@ -18,7 +45,9 @@ const cardsControllers = {
console.log(r);
});
},
acceptCardTerms: function (req, resp){
},
activateCard: function (req, res) {
cards.activateCard(req, res, function (err, dist) {
if (err) {
+6
View File
@@ -4,8 +4,14 @@
const cardsControllers = require('../controller/cardsController.js');
module.exports = function(app) {
app.route('/cardapplications')
.post(cardsControllers.createApplications);
app.route('/createCardHolder')
.post(cardsControllers.createCardHolder);
app.route('/create')
.post(cardsControllers.createCard);
app.route('/create')
.post(cardsControllers.acceptCardTerms);
app.route('/activate')
.post(cardsControllers.activateCard);
// app.route('/eventSendMoney')
+170 -5
View File
@@ -6,6 +6,131 @@ const logger = require('../app/logger');
//const User = require("../app/model/cardModel.js");
const stripe = require('stripe')(process.env.STRIPE_SECRET_KEY);
var cards = {
createApplications: async function(req, res, next){
try {
logger.info(req.body);
var data = {
"status": req.body.status,
"limit": req.body.limit,
};
let Qstring = " SELECT id AS request_id, uid AS request_uid, * FROM members_card_request WHERE status = "+data.status+" LIMIT "+data.limit;
logger.info(Qstring);
db.query(Qstring, async function (err, result) {
if (err) throw err;
logger.info(result.rows);
let resultItem ={
"result": result.rows,
"total_record": result.rows.length
}
next(null, resultItem); // pass control to the next handler
});
} catch (error) {
await res.status(500).json({error: `Internal Server error 002 ${error} `});
}
},
createCardHolder: 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,
"dob_day": result.rows[0].dob_day,
"dob_month": result.rows[0].dob_month,
"dob_year": result.rows[0].dob_year,
"member_uid" : result.rows[0].member_uid,
"member_id" : result.rows[0].member_id,
};
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: req_data.dob_day,
month: req_data.dob_month,
year: req_data.dob_year
},
},
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);
Qstring = " UPDATE members_card_request " +
" SET card_issue_id='"+cardholder.id+"' , status = 10, updated = now() " +
" WHERE uid::text = '" + data.request_uid +"'";
db.query(Qstring, async function (err, result) {
console.log(cardholder);
Qstring = "UPDATE members SET " +
" stripe_cardholder_id = '"+cardholder.id+"' " +
" WHERE id ="+data.member_id+" AND uid::text = '"+data.member_uid+"'";
db.query(Qstring, async function (err, result) {
let resultItem = {
"result": cardholder,
"stripe_cardholder_id": cardholder.id,
"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);
});
} 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} `});
}
},
createCard: async function (req, res, next) {
try {
logger.info(req.body);
@@ -133,16 +258,56 @@ var cards = {
await res.status(500).json({error: `Internal Server error 002 ${error} `});
}
},
acceptCardTerms: function (req, res, next) {
// let resultItem ={
// "result": bannerArray,
// "total_record": 4
// }
// next(null, resultItem ); // pass control to the next handler
const aggrement_ip = '91.121.146.224';
const aggrement_date = Date.now();
//const cardholder = await
stripe.issuing.cardholders.update(
cardholder.id,
{
individual: {
card_issuing: {
user_terms_acceptance: {
date: aggrement_date,
ip: aggrement_ip,
},
},
},
}
).then((cardConfirm)=>{
const card = stripe.issuing.cards.create({
cardholder: cardholder.id,
currency: 'usd',
type: 'virtual',
});
let resultItem = {
"result_confirm": cardConfirm,
"total_record": 0
}
next(null, resultItem); // pass control to the next handler
console.log(cardConfirm);
});
let resultItem ={
"result": [],
"total_record": 0
}
next(null, resultItem ); // pass control to the next handler
},
activateCard: function (req, res, next) {
const card = stripe.issuing.cards.create({
cardholder: cardholder.id,
currency: 'usd',
type: 'virtual',
status: 'active',
});
let resultItem ={
"result": [],