From faa4ab30bead68bacca89dc966c1b42d842516bd Mon Sep 17 00:00:00 2001 From: Max Hunt Date: Wed, 6 May 2020 22:53:25 +0100 Subject: [PATCH] Update --- functions/package-lock.json | 5 +++++ functions/package.json | 3 ++- functions/views/js/fdb.js | 20 +++++++++++++------- package-lock.json | 5 +++++ package.json | 3 ++- server.js | 27 +++++++++++++++++++++++++++ 6 files changed, 54 insertions(+), 9 deletions(-) diff --git a/functions/package-lock.json b/functions/package-lock.json index 7b414b9..76fd009 100644 --- a/functions/package-lock.json +++ b/functions/package-lock.json @@ -1676,6 +1676,11 @@ "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.7.4.tgz", "integrity": "sha512-8Df0906+tq/omxuCZD6PqhPaQDYuyJ1d+VITgxoIA8zvQd1ru+nMJcDChHH324MWitIgbVkAkQoGEEVJNpn/PA==" }, + "nodemailer": { + "version": "6.4.6", + "resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-6.4.6.tgz", + "integrity": "sha512-/kJ+FYVEm2HuUlw87hjSqTss+GU35D4giOpdSfGp7DO+5h6RlJj7R94YaYHOkoxu1CSaM0d3WRBtCzwXrY6MKA==" + }, "object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", diff --git a/functions/package.json b/functions/package.json index ce41ba3..c24217b 100644 --- a/functions/package.json +++ b/functions/package.json @@ -17,7 +17,8 @@ "express": "^4.17.1", "firebase-admin": "^8.11.0", "firebase-functions": "^3.6.1", - "morgan": "^1.10.0" + "morgan": "^1.10.0", + "nodemailer": "^6.4.6" }, "devDependencies": { "firebase-functions-test": "^0.2.0" diff --git a/functions/views/js/fdb.js b/functions/views/js/fdb.js index 68496f3..4a966a2 100644 --- a/functions/views/js/fdb.js +++ b/functions/views/js/fdb.js @@ -233,7 +233,7 @@ function ship_item() { firebase.auth().currentUser.getIdToken().then(function(idToken) { var item_id_element = document.getElementById("productID") var item_id = item_id_element.getAttribute("product_id") - var place_on_sale_button = document.getElementById("shipBtn") + var ship_button = document.getElementById("shipBtn") const url = 'ship-api' let data = { item: item_id, @@ -249,14 +249,20 @@ function ship_item() { .then(function(result){ console.log(result) if (result.success == true) { - place_on_sale_button.setAttribute("style", "background: #00DD00; width:200px;") - place_on_sale_button.innerHTML = "Item shipped!" - place_on_sale_button.disabled = true + ship_button.setAttribute("style", "background: #00DD00; width:200px;") + ship_button.innerHTML = "Item shipped!" + ship_button.disabled = true + + var sell_button = document.getElementById("sellBtn") + var edit_button = document.getElementById("editBtn") + sell_button.disabled = true + edit_button.disabled = true + } else { - place_on_sale_button.setAttribute("style", "background: red;") - place_on_sale_button.disabled = true - place_on_sale_button.innerHTML = "ERROR" + ship_button.setAttribute("style", "background: red;") + ship_button.disabled = true + ship_button.innerHTML = "ERROR" console.log(result.error) } }) diff --git a/package-lock.json b/package-lock.json index f5f2032..fc743ef 100644 --- a/package-lock.json +++ b/package-lock.json @@ -3359,6 +3359,11 @@ "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.7.4.tgz", "integrity": "sha512-8Df0906+tq/omxuCZD6PqhPaQDYuyJ1d+VITgxoIA8zvQd1ru+nMJcDChHH324MWitIgbVkAkQoGEEVJNpn/PA==" }, + "nodemailer": { + "version": "6.4.6", + "resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-6.4.6.tgz", + "integrity": "sha512-/kJ+FYVEm2HuUlw87hjSqTss+GU35D4giOpdSfGp7DO+5h6RlJj7R94YaYHOkoxu1CSaM0d3WRBtCzwXrY6MKA==" + }, "normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", diff --git a/package.json b/package.json index 68c0039..2489acd 100644 --- a/package.json +++ b/package.json @@ -18,6 +18,7 @@ "express": "^4.17.1", "firebase-admin": "^8.11.0", "firebase-tools": "^8.2.0", - "morgan": "^1.10.0" + "morgan": "^1.10.0", + "nodemailer": "^6.4.6" } } diff --git a/server.js b/server.js index 74c3f13..13e3e22 100644 --- a/server.js +++ b/server.js @@ -20,6 +20,14 @@ app.use(express.static('views')) app.set('view engine', 'ejs') app.set('views', __dirname + '/views') +let nodemailer = require('nodemailer') +let transporter = nodemailer.createTransport({ + service: 'gmail', + auth: { + user: 'noreply.projectgg@gmail.com', + pass: 'kynpef-5paqha-xaVxip' + } +}); app.get("/", function(request, responce) { @@ -211,6 +219,7 @@ app.post('/ship-api', function(request, responce){ var productRef = database.ref("/products/"+product) productRef.update({status:"shipped"}) .then(function(){ + sendEmail("maxdebaoli@gmail.com", "Please ship item "+product) responce.send({success:true, error:null}) }) .catch(e => {console.log(e)}) @@ -224,6 +233,24 @@ app.post('/ship-api', function(request, responce){ } }) +function sendEmail(address, content){ + var mailOptions = { + from: 'noreply.projectgg@gmail.com', + to: address, + subject: 'Your Item has been requested', + text: content + } + transporter.sendMail(mailOptions, function(error, info){ + if (error) { + console.log(error); + } else { + console.log('Email sent: ' + info.response); + } + }); + +} + + app.get('*', function(request, responce){ responce.render('404.ejs') })