diff --git a/express-server/db-connect/db-connect.js b/express-server/db-connect/db-connect.js index d92f18b2..3ee12158 100644 --- a/express-server/db-connect/db-connect.js +++ b/express-server/db-connect/db-connect.js @@ -54,12 +54,24 @@ async function getShoppinglistsAdmin(username) { } } +//SELECT own shopping lists +async function getShoppinglistsByLink(link) { + try { + console.log("PPPPP LIIINK:", link) + let result = await query('SELECT row_to_json("Shoppinglist") AS obj FROM "Shoppinglist" WHERE invitelink = $1', [link]); + return result; + } + + catch (error) { + console.error(error); + } +} + //SELECT shared shopping lists async function getShoppinglistsShared(username) { try { - let result = await query('SELECT row_to_json("Shoppinglist") AS obj FROM "Shoppinglist" JOIN "Shoppinglist_member" USING (sl_id) WHERE \ - username = $1', [username]); + let result = await query('SELECT row_to_json("Shoppinglist") AS obj FROM "Shoppinglist" JOIN "Shoppinglist_member" USING (sl_id) WHERE username = $1;', [username]); console.log(result); return result; } @@ -530,5 +542,5 @@ function probability(cur_item, data) { module.exports = { getShoppinglistsAdmin, getShoppinglistsShared, newShoppinglist, displayShoppinglist, deleteShoppinglist, addGroup, addItem, verifyInvite, createInvite, editShoppinglist, editGroup, editItem, deleteGroup, deleteItem, manInvite, updateUser, - moveDoneItems, getDonePurchases + moveDoneItems, getDonePurchases, getShoppinglistsByLink } diff --git a/express-server/public/invite/inv.js b/express-server/public/invite/inv.js index 2d29eed6..cab198dd 100644 --- a/express-server/public/invite/inv.js +++ b/express-server/public/invite/inv.js @@ -19,11 +19,12 @@ var config = { var segment_array = segment_str.split( '/' ); var last_segment = segment_array.pop(); - verifyInvite(last_segment); + //verifyInvite(last_segment); + getList(last_segment); function verifyInvite(link) { - alert("Ore Link", link) + //alert("Ore Link", link) firebase.auth().onAuthStateChanged(function(user){if(user){firebase.auth().currentUser.getIdToken(/* forceRefresh */ true).then(function(idtoken) { $.ajax({ type: "POST", @@ -33,7 +34,31 @@ var config = { link: link }, success(){ - window.location.href = "/dash/" + idtoken + // window.location.href = "/dash/" + idtoken + alert("Success"); + }, + error(err){ + console.error("Error: " + err); + alert("Error"); + } + }); + }).catch((error) => console.error("Get id token client error: ", error));}else{console.log("Check Auth error", user)}}); + } + + function getList(link) { + firebase.auth().onAuthStateChanged(function(user){if(user){firebase.auth().currentUser.getIdToken(/* forceRefresh */ true).then(function(idtoken) { + $.ajax({ + type: "GET", + url: "/shoppinglistsbylink?link=" + link, + data: { + idtoken: idtoken + }, + success(data){ + console.log(data); + + $(".s_name").append(data.find(function(obj) {return obj.invitelink == link}).name); + $(".s_desc").append(data.find(function(obj) {return obj.invitelink == link}).description); + $(".s_link").append(data.find(function(obj) {return obj.invitelink == link}).invitelink); }, error(err){ console.error("Error: " + err); @@ -42,6 +67,13 @@ var config = { }).catch((error) => console.error("Get id token client error: ", error));}else{console.log("Check Auth error", user)}}); } + $(".btn_verify").click(function() { + var segment_str = window.location.pathname; + var segment_array = segment_str.split( '/' ); + var last_segment = segment_array.pop(); + verifyInvite(last_segment); + }) + }); diff --git a/express-server/routes/index.js b/express-server/routes/index.js index ff64dbc5..eb4d3eff 100644 --- a/express-server/routes/index.js +++ b/express-server/routes/index.js @@ -148,6 +148,30 @@ router.get("/sharedshoppinglists", async function(req, res, next) { }); +}); + +//GET ALL SHOPPINGLISTS + +router.get("/shoppinglistsbylink", async function(req, res, next) { + var token = req.query.idtoken; + firebaseAdmin.auth().verifyIdToken(token) + .then(async function(decodedToken) { + uid = decodedToken.uid; + console.log("uid", uid) + try { + //Get user id: req.session.passport.user.profile.id + res.status(200).send(await postgres.getShoppinglistsByLink(req.query.link)); + } + + catch(err) { + res.status(400).send(await err); + } + + }).catch(function(error) { + console.log(error) + }); + + }); //POST new shoppinglist @@ -197,6 +221,8 @@ router.get("/shoppinglist_json/:sl_id", async (req, res) => { }); + + postgres.displayShoppinglist("4tezJYMK"); //DELETE Shoppinglist diff --git a/express-server/views/invite.ejs b/express-server/views/invite.ejs index 5cd22017..81e6c152 100644 --- a/express-server/views/invite.ejs +++ b/express-server/views/invite.ejs @@ -12,6 +12,10 @@
+Name:
+Description:
+Invite Link:
+