diff --git a/express-server/db-connect/db-connect.js b/express-server/db-connect/db-connect.js index a9e255ae..7f76fd56 100644 --- a/express-server/db-connect/db-connect.js +++ b/express-server/db-connect/db-connect.js @@ -177,7 +177,7 @@ async function displayShoppinglist(sl_id) { let members = await query('SELECT row_to_json("User") as obj FROM "User" JOIN "Shoppinglist_member" USING (username) WHERE sl_id = $1', [sl_id]); let admin = await query('SELECT row_to_json("User") as obj FROM "User" JOIN "Shoppinglist_admin" USING (username) WHERE sl_id = $1', [sl_id]); - return items_in_groups(groups, items, sl_id, admin[0].username, admin[0].message_id, members, shoppinglist[0].name, shoppinglist[0].description); + return items_in_groups(groups, items, sl_id, admin[0].username, admin[0].message_id, members, shoppinglist[0].name, shoppinglist[0].description, shoppinglist[0].invitelink); } catch (error) { console.error(error); } @@ -432,6 +432,8 @@ async function manInvite(sl_id, uid) { async function removeMember(uid, sl_id) { try { await nonQuery('DELETE FROM "Shoppinglist_member" WHERE username = $1 AND sl_id = $2', [uid, sl_id]); + + return getShoppinglistsShared(sl_id); } catch (error) { console.error(error); } @@ -478,12 +480,13 @@ function generate_item_id() { return output; } -function items_in_groups(groups, items, sl_id, admin_uid, admin_mid, members, name, description) { +function items_in_groups(groups, items, sl_id, admin_uid, admin_mid, members, name, description, invitelink) { let result = { sl_id: sl_id, name: name, description: description, + invitelink: invitelink, admin: { uid: admin_uid, mid: admin_mid diff --git a/express-server/public/test/style.css b/express-server/public/test/style.css deleted file mode 100644 index d525aeb6..00000000 --- a/express-server/public/test/style.css +++ /dev/null @@ -1,20 +0,0 @@ -body { - background-color: rgb(240, 240, 240) !important; -} - -.msl { - color: rgb(56, 56, 56) !important; -} - -.activeL { - background-color: #e53935 !important; - color: #f0f0f0 !important; -} - -.ico { - color: #bdbdbd !important; -} - -.brand-logo { - margin-left: 30px !important; -} \ No newline at end of file diff --git a/express-server/routes/index.js b/express-server/routes/index.js index 79bc6a96..59de7e1e 100644 --- a/express-server/routes/index.js +++ b/express-server/routes/index.js @@ -340,6 +340,24 @@ router.delete("/member", (req, res) => { } }); +router.delete("/exitinvite", (req, res) => { + + var token = req.body.idtoken; + var uid; + firebaseAdmin.auth().verifyIdToken(token) + .then(async function (decodedToken) { + uid = decodedToken.uid; + + try { + res.status(200).send(postgres.removeMember(uid, req.body.sl_id)); + } catch (err) { + res.status(400).send(await err); + } + }).catch(function (error) { + console.log(error) + }); +}); + router.get("/invite/:invitelink", async (req, res) => { res.status(200).render("invite"); });