-
Unregistered user
+
Unregistered user
diff --git a/functions/views/js/fdb.js b/functions/views/js/fdb.js
index cb1b20b..ffd8c1f 100644
--- a/functions/views/js/fdb.js
+++ b/functions/views/js/fdb.js
@@ -61,6 +61,45 @@ function productSubmitEventHandler(){
})
}
+function productUpdateEventHandler() {
+ const submitBtn = document.getElementById('pSend')
+ if (submitBtn.innerHTML == "Update") {
+ const nameField = document.getElementById('pName')
+ const descField = document.getElementById('pDesc')
+ const locField = document.getElementById('pLoc')
+ const stockField = document.getElementById('pStock')
+ const priceField = document.getElementById('pPrice')
+
+ // const imgBtn = document.getElementById('pImg')
+
+ const item_id_element = document.getElementById("productID")
+ const item_id = item_id_element.getAttribute("product_id")
+
+ const sessUid = firebase.auth().currentUser.uid
+
+ submitBtn.innerHTML = "Updating..."
+ submitBtn.disabled = true
+
+ var database = firebase.database()
+ var productRef = database.ref("/products/"+item_id)
+ productRef.update({
+ name: nameField.value,
+ desc: descField.value,
+ location: locField.value,
+ stock: stockField.value,
+ price: priceField.value
+ })
+ .then(function(){
+ submitBtn.setAttribute("style", "width: 300px; background: #00DD00;cursor: pointer;")
+ submitBtn.innerHTML = "Done!, Go Home..."
+ submitBtn.disabled = false
+ })
+ }
+ else {
+ window.location.replace('home')
+ }
+}
+
function addItem(item){
var database = firebase.database()
var itemRef = database.ref('/products')
@@ -145,6 +184,16 @@ function purchaseItem() {
}
+function edit_item() {
+ firebase.auth().currentUser.getIdToken().then(function(idToken) {
+ var item_id_element = document.getElementById("productID")
+ var item_id = item_id_element.getAttribute("product_id")
+ console.log("edit-item?uToken=" + idToken + '&productid=' + item_id)
+ window.location.replace("edit-item?uToken=" + idToken + '&productid=' + item_id)
+ })
+ .catch(e => {console.log(e)})
+}
+
function my_product(productID) {
firebase.auth().currentUser.getIdToken().then(function(idToken) {
console.log("my-products?uToken=" + idToken + '&productid=' + productID)
diff --git a/functions/views/my-product.ejs b/functions/views/my-product.ejs
index 5f4500d..8c652e9 100644
--- a/functions/views/my-product.ejs
+++ b/functions/views/my-product.ejs
@@ -73,7 +73,7 @@
Status: <%= publicField %>
Price: £<%= item.price %>
diff --git a/server.js b/server.js
index 9dc3f01..f38ec88 100644
--- a/server.js
+++ b/server.js
@@ -114,6 +114,32 @@ app.get('/my-product', function(request, responce){
}
})
+app.get('/edit-item', function(request, responce){
+ if (request.query.uToken && request.query.productid) {
+ admin.auth().verifyIdToken(request.query.uToken)
+ .then(function(decodedToken) {
+ let uid = decodedToken.uid;
+ var dbRef = database.ref("/products/"+request.query.productid)
+ dbRef.once('value', function(snapshot){
+ data = snapshot.val()
+ if (data.owner == uid) {
+ responce.render('edit-item.ejs', {item:data, key:request.query.productid})
+ }
+ else {
+ responce.send('
Unauthorized user
Home')
+ }
+ })
+ })
+ .catch(function(error) {
+ console.log(error)
+ responce.send("
Bad Auth Token
Home")
+ });
+ }
+ else {
+ responce.send("
No Auth Token Provided
Home")
+ }
+})
+
app.get('/product', function(request, responce){
if (request.query.productid) {
var dbRef = database.ref("/products/"+request.query.productid)