Change payments to be accessible wihtout loggin

This commit is contained in:
Adolfo Reyna
2025-07-17 09:32:49 -04:00
parent 64ca9df639
commit 100b0c2a8f
2 changed files with 37 additions and 13 deletions
+1 -1
View File
@@ -54,7 +54,7 @@ const sessionChecker = require('./middleware/sessionChecker');
// -- Private Routes // -- Private Routes
app.use('/user', sessionChecker, profileRoute); app.use('/user', sessionChecker, profileRoute);
app.use('/post', sessionChecker, postRoute); app.use('/post', sessionChecker, postRoute);
app.use('/payments', sessionChecker, paymentsRoute); app.use('/payments', paymentsRoute);
app.use('/bible', sessionChecker, bibleRoute); app.use('/bible', sessionChecker, bibleRoute);
app.use('/songs', sessionChecker, songsRoute); app.use('/songs', sessionChecker, songsRoute);
// -- Public Routes // -- Public Routes
+25 -1
View File
@@ -2,6 +2,7 @@ var express = require('express');
var router = express.Router(); var router = express.Router();
const DB = require("../mongoDB.js"); const DB = require("../mongoDB.js");
const mongo = require('mongodb');
//const Payments = require("../payments.js"); //const Payments = require("../payments.js");
const Stripe = require('stripe'); const Stripe = require('stripe');
const stripe = Stripe(process.env.STRIPE); const stripe = Stripe(process.env.STRIPE);
@@ -52,6 +53,15 @@ DB.getDB.then((DB) => {
], ],
}); });
// check if user is email or userid
const isUserId = mongo.ObjectId.isValid(userid);
const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
const isEmail = emailRegex.test(userid.trim().toLowerCase());
console.log("isUserId: ", isUserId);
console.log("isEmail: ", isEmail);
console.log("userid: ", userid);
if (isUserId) {
//Register in DB //Register in DB
const intent = { const intent = {
paymentIntent, paymentIntent,
@@ -67,6 +77,20 @@ DB.getDB.then((DB) => {
email: await DB.getUsernameByIdCache(userid), email: await DB.getUsernameByIdCache(userid),
price price
}); });
}
if (isEmail) {
//Register in DB
return res.send({
clientSecret: paymentIntent.client_secret,
email: userid,
price
});
}
return res.send({
clientSecret: paymentIntent.client_secret,
email: 'guess',
price
});
}; };
@@ -84,7 +108,7 @@ DB.getDB.then((DB) => {
}; };
//console.log(payment); //console.log(payment);
const intent = await DB.getIntent(result.client_secret); const intent = await DB.getIntent(result.client_secret);
if(intent.description === "Subscription 1 Month"){ if (intent.description === "Subscription 1 Month") {
//update profile subscription status //update profile subscription status
const profileid = getProfileId(req); const profileid = getProfileId(req);
const isSubscriptor = await DB.isSubscriptor(profileid); const isSubscriptor = await DB.isSubscriptor(profileid);