Update
This commit is contained in:
parent
6ddc031188
commit
c58b9ef1d8
@ -160,8 +160,33 @@ app.post('/purchase-api', function(request, responce){
|
|||||||
let product = request.body.item
|
let product = request.body.item
|
||||||
var productRef = database.ref("/products/"+product)
|
var productRef = database.ref("/products/"+product)
|
||||||
productRef.update({owner:uid, status:"sold"})
|
productRef.update({owner:uid, status:"sold"})
|
||||||
|
.then(function(){
|
||||||
responce.send({success:true, error:null})
|
responce.send({success:true, error:null})
|
||||||
})
|
})
|
||||||
|
.catch(e => {console.log(e)})
|
||||||
|
})
|
||||||
|
.catch(function(error) {
|
||||||
|
responce.send({ error: 'invalid auth token' })
|
||||||
|
});
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
responce.send({ error: 'invalid data' })
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
app.post('/place-on-sale-api', function(request, responce){
|
||||||
|
if (request.body.item && request.body.user) {
|
||||||
|
admin.auth().verifyIdToken(request.body.user)
|
||||||
|
.then(function(decodedToken) {
|
||||||
|
let uid = decodedToken.uid;
|
||||||
|
let product = request.body.item
|
||||||
|
var productRef = database.ref("/products/"+product)
|
||||||
|
productRef.update({status:"on-sale"})
|
||||||
|
.then(function(){
|
||||||
|
responce.send({success:true, error:null})
|
||||||
|
})
|
||||||
|
.catch(e => {console.log(e)})
|
||||||
|
})
|
||||||
.catch(function(error) {
|
.catch(function(error) {
|
||||||
responce.send({ error: 'invalid auth token' })
|
responce.send({ error: 'invalid auth token' })
|
||||||
});
|
});
|
||||||
|
|||||||
@ -140,7 +140,7 @@ function purchaseItem() {
|
|||||||
firebase.auth().currentUser.getIdToken().then(function(idToken) {
|
firebase.auth().currentUser.getIdToken().then(function(idToken) {
|
||||||
var item_id_element = document.getElementById("productID")
|
var item_id_element = document.getElementById("productID")
|
||||||
var item_id = item_id_element.getAttribute("product_id")
|
var item_id = item_id_element.getAttribute("product_id")
|
||||||
const url = 'purchase-api';
|
const url = 'purchase-api'
|
||||||
// The data we are going to send in our request
|
// The data we are going to send in our request
|
||||||
let data = {
|
let data = {
|
||||||
item: item_id,
|
item: item_id,
|
||||||
@ -167,8 +167,6 @@ function purchaseItem() {
|
|||||||
document.getElementById("api-response").innerHTML = "Error: " + result.error
|
document.getElementById("api-response").innerHTML = "Error: " + result.error
|
||||||
document.getElementById("api-response").setAttribute("style", "display: block")
|
document.getElementById("api-response").setAttribute("style", "display: block")
|
||||||
}
|
}
|
||||||
//check return value
|
|
||||||
//update element accordingly
|
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
@ -178,6 +176,9 @@ function purchaseItem() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
else if (purchaseBtn.innerHTML == "Item Purchased, Congratulations!") {
|
||||||
|
window.location.replace("home")
|
||||||
|
}
|
||||||
else {
|
else {
|
||||||
purchaseBtn.disabled = true
|
purchaseBtn.disabled = true
|
||||||
}
|
}
|
||||||
@ -188,15 +189,48 @@ function edit_item() {
|
|||||||
firebase.auth().currentUser.getIdToken().then(function(idToken) {
|
firebase.auth().currentUser.getIdToken().then(function(idToken) {
|
||||||
var item_id_element = document.getElementById("productID")
|
var item_id_element = document.getElementById("productID")
|
||||||
var item_id = item_id_element.getAttribute("product_id")
|
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)
|
window.location.replace("edit-item?uToken=" + idToken + '&productid=' + item_id)
|
||||||
})
|
})
|
||||||
.catch(e => {console.log(e)})
|
.catch(e => {console.log(e)})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function place_item_on_sale() {
|
||||||
|
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("sellBtn")
|
||||||
|
const url = 'place-on-sale-api'
|
||||||
|
let data = {
|
||||||
|
item: item_id,
|
||||||
|
user: idToken
|
||||||
|
}
|
||||||
|
let postData = {
|
||||||
|
method: 'POST',
|
||||||
|
body: JSON.stringify(data),
|
||||||
|
headers: {'Content-Type': 'application/json'}
|
||||||
|
}
|
||||||
|
fetch(url, postData)
|
||||||
|
.then(response => response.json())
|
||||||
|
.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 on sale!"
|
||||||
|
place_on_sale_button.disabled = true
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
place_on_sale_button.setAttribute("style", "background: red;")
|
||||||
|
place_on_sale_button.disabled = true
|
||||||
|
place_on_sale_button.innerHTML = "ERROR"
|
||||||
|
console.log(result.error)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
})
|
||||||
|
.catch(e => {console.log(e)})
|
||||||
|
}
|
||||||
|
|
||||||
function my_product(productID) {
|
function my_product(productID) {
|
||||||
firebase.auth().currentUser.getIdToken().then(function(idToken) {
|
firebase.auth().currentUser.getIdToken().then(function(idToken) {
|
||||||
console.log("my-products?uToken=" + idToken + '&productid=' + productID)
|
|
||||||
window.location.replace("my-product?uToken=" + idToken + '&productid=' + productID)
|
window.location.replace("my-product?uToken=" + idToken + '&productid=' + productID)
|
||||||
})
|
})
|
||||||
.catch(e => {console.log(e)})
|
.catch(e => {console.log(e)})
|
||||||
|
|||||||
@ -65,16 +65,16 @@
|
|||||||
<div class="product-page-img"><img class="dyn-img" src="media/noimage.png" title="<%= item.img %>"></div>
|
<div class="product-page-img"><img class="dyn-img" src="media/noimage.png" title="<%= item.img %>"></div>
|
||||||
<div class="product-page-info">
|
<div class="product-page-info">
|
||||||
<h2><%= item.name %> </h2>
|
<h2><%= item.name %> </h2>
|
||||||
<p>Seller <%= item.owner %></p>
|
<p>Seller: You</p>
|
||||||
<p>Location: <%= item.location %></p>
|
<p>Location: <%= item.location %></p>
|
||||||
<p>In stock: <%= item.stock %></p>
|
<p>In stock: <%= item.stock %></p>
|
||||||
<% var publicField %>
|
<p>Status: <%= item.status %></p>
|
||||||
<% if (item.public == "") {publicField = "On sale"} else {publicField = "Hidden"}%>
|
|
||||||
<p>Status: <%= publicField %></p>
|
|
||||||
<p>Price: £<%= item.price %></p>
|
<p>Price: £<%= item.price %></p>
|
||||||
<div class="product-mgmt-buttons">
|
<div class="product-mgmt-buttons">
|
||||||
<div class="edit-btn"><button onclick={edit_item()} id="editBtn">Edit</button> </div>
|
<div class="edit-btn"><button onclick={edit_item()} id="editBtn">Edit</button> </div>
|
||||||
<div class="sell-btn"><button onclick={y()} id="sellBtn">Sell</button> </div>
|
<% var sellbtnStyle = ""%>
|
||||||
|
<% if (item.status == "sold") {sellbtnStyle = "visibility:all;"} else {sellbtnStyle = "visibility:hidden;"}%>
|
||||||
|
<div class="sell-btn" style=<%= sellbtnStyle%>><button onclick={place_item_on_sale()} id="sellBtn">Sell</button> </div>
|
||||||
<div class="ship-btn"><button onclick={z()} id="shipBtn">Ship</button> </div>
|
<div class="ship-btn"><button onclick={z()} id="shipBtn">Ship</button> </div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
25
server.js
25
server.js
@ -166,8 +166,33 @@ app.post('/purchase-api', function(request, responce){
|
|||||||
let product = request.body.item
|
let product = request.body.item
|
||||||
var productRef = database.ref("/products/"+product)
|
var productRef = database.ref("/products/"+product)
|
||||||
productRef.update({owner:uid, status:"sold"})
|
productRef.update({owner:uid, status:"sold"})
|
||||||
|
.then(function(){
|
||||||
responce.send({success:true, error:null})
|
responce.send({success:true, error:null})
|
||||||
})
|
})
|
||||||
|
.catch(e => {console.log(e)})
|
||||||
|
})
|
||||||
|
.catch(function(error) {
|
||||||
|
responce.send({ error: 'invalid auth token' })
|
||||||
|
});
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
responce.send({ error: 'invalid data' })
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
app.post('/place-on-sale-api', function(request, responce){
|
||||||
|
if (request.body.item && request.body.user) {
|
||||||
|
admin.auth().verifyIdToken(request.body.user)
|
||||||
|
.then(function(decodedToken) {
|
||||||
|
let uid = decodedToken.uid;
|
||||||
|
let product = request.body.item
|
||||||
|
var productRef = database.ref("/products/"+product)
|
||||||
|
productRef.update({status:"on-sale"})
|
||||||
|
.then(function(){
|
||||||
|
responce.send({success:true, error:null})
|
||||||
|
})
|
||||||
|
.catch(e => {console.log(e)})
|
||||||
|
})
|
||||||
.catch(function(error) {
|
.catch(function(error) {
|
||||||
responce.send({ error: 'invalid auth token' })
|
responce.send({ error: 'invalid auth token' })
|
||||||
});
|
});
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user