diff --git a/firebase-debug.log b/firebase-debug.log
deleted file mode 100644
index bee8046..0000000
--- a/firebase-debug.log
+++ /dev/null
@@ -1,16 +0,0 @@
-[debug] [2020-05-14T19:57:05.341Z] ----------------------------------------------------------------------
-[debug] [2020-05-14T19:57:05.343Z] Command: /usr/local/bin/node /usr/local/bin/firebase deploy
-[debug] [2020-05-14T19:57:05.343Z] CLI Version: 8.2.0
-[debug] [2020-05-14T19:57:05.343Z] Platform: darwin
-[debug] [2020-05-14T19:57:05.343Z] Node Version: v12.16.2
-[debug] [2020-05-14T19:57:05.344Z] Time: Thu May 14 2020 20:57:05 GMT+0100 (British Summer Time)
-[debug] [2020-05-14T19:57:05.344Z] ----------------------------------------------------------------------
-[debug] [2020-05-14T19:57:05.344Z]
-[debug] [2020-05-14T19:57:05.353Z] > command requires scopes: ["email","openid","https://www.googleapis.com/auth/cloudplatformprojects.readonly","https://www.googleapis.com/auth/firebase","https://www.googleapis.com/auth/cloud-platform"]
-[debug] [2020-05-14T19:57:05.354Z] > authorizing via signed-in user
-[debug] [2020-05-14T19:57:05.354Z] [iam] checking project project-gg-3b754 for permissions ["cloudfunctions.functions.create","cloudfunctions.functions.delete","cloudfunctions.functions.get","cloudfunctions.functions.list","cloudfunctions.functions.update","cloudfunctions.operations.get","firebase.projects.get","firebasehosting.sites.update"]
-[debug] [2020-05-14T19:57:05.356Z] >>> HTTP REQUEST POST https://cloudresourcemanager.googleapis.com/v1/projects/project-gg-3b754:testIamPermissions
- {"permissions":["cloudfunctions.functions.create","cloudfunctions.functions.delete","cloudfunctions.functions.get","cloudfunctions.functions.list","cloudfunctions.functions.update","cloudfunctions.operations.get","firebase.projects.get","firebasehosting.sites.update"]}
-[debug] [2020-05-14T19:57:06.307Z] <<< HTTP RESPONSE 200 {"content-type":"application/json; charset=UTF-8","vary":"X-Origin, Referer, Origin,Accept-Encoding","date":"Thu, 14 May 2020 19:57:05 GMT","server":"ESF","cache-control":"private","x-xss-protection":"0","x-frame-options":"SAMEORIGIN","x-content-type-options":"nosniff","server-timing":"gfet4t7; dur=669","alt-svc":"h3-27=\":443\"; ma=2592000,h3-25=\":443\"; ma=2592000,h3-T050=\":443\"; ma=2592000,h3-Q050=\":443\"; ma=2592000,h3-Q049=\":443\"; ma=2592000,h3-Q048=\":443\"; ma=2592000,h3-Q046=\":443\"; ma=2592000,h3-Q043=\":443\"; ma=2592000,quic=\":443\"; ma=2592000; v=\"46,43\"","accept-ranges":"none","transfer-encoding":"chunked"}
-[debug] [2020-05-14T19:57:06.308Z] >>> HTTP REQUEST POST https://iam.googleapis.com/v1/projects/project-gg-3b754/serviceAccounts/project-gg-3b754@appspot.gserviceaccount.com:testIamPermissions
- {"permissions":["iam.serviceAccounts.actAs"]}
diff --git a/functions/index.js b/functions/index.js
index 16002ee..195e6ff 100644
--- a/functions/index.js
+++ b/functions/index.js
@@ -48,6 +48,7 @@ function homePage(request, responce) {
if (request.query.itemAdded == "true") {
x = 'block'
}
+ console.log(data)
responce.render('home.ejs', {products: data, message: x})
})
}
@@ -111,7 +112,7 @@ app.get('/my-products', function(request, responce){
}
else {
dbRef.orderByChild('owner').equalTo(uid).once('value', function(snapshot){
- var data = {'x': {desc: '', holder: '', id: 999, img: '', location: '', name: 'No products listed π’', owner: '', price: '', public: '', stock: ''}}
+ var data = {'x': {holder: '',id: 999,img: '',location: '',name: 'No products listed π’',owner: '',price: '',stock: ''}}
if (snapshot.val()) {data = snapshot.val()}
responce.render('my-products.ejs', {products: data})
})
@@ -120,7 +121,7 @@ app.get('/my-products', function(request, responce){
.catch(function(error) {
console.log(error)
responce.send("
Bad Auth Token
Home")
- });
+ })
}
else {
responce.send("No Auth Token Provided
Home")
@@ -131,7 +132,7 @@ app.get('/my-product', function(request, responce){
if (request.query.uToken && request.query.productid) {
admin.auth().verifyIdToken(request.query.uToken)
.then(async function(decodedToken) {
- let uid = decodedToken.uid;
+ let uid = decodedToken.uid
let pid = request.query.productid
if (await verifyExists(pid)){
if (await verifyOwner(uid, pid)) {
@@ -220,6 +221,53 @@ app.get('/product', function(request, responce){
}
})
+app.get('/registration', function(request, responce){
+ responce.render('user-registration.ejs')
+})
+
+
+app.post('/register-new-user-api', async function(request, responce){
+ let rBody = request.body
+ if (rBody.authToken && rBody.data.fName && rBody.data.lName && rBody.data.address && rBody.data.pPic) {
+ let uid = false
+ decodedToken = await admin.auth().verifyIdToken(rBody.authToken).catch(e=>{console.log(e)})
+ uid = decodedToken.uid
+ email = decodedToken.email
+ if (uid) {
+ if (await checkUserExists(uid) == false) {
+ let fName = rBody.data.fName
+ let lName = rBody.data.lName
+ let address = rBody.data.address
+ let pPic = rBody.data.pPic
+ let uData = {
+ fName:fName,
+ lName:lName,
+ UID:uid,
+ email:email,
+ address:address,
+ pPic:"x"
+ }
+ let usersRef = database.ref('/users')
+ let result = await usersRef.push(uData)
+ let key = result.key
+ let imgPath = key + '/' + pPic
+ let imgRootPath = "/user-img/" + imgPath
+ let userRef = database.ref('/users/' + key)
+ userRef.update({pPic:imgPath})
+ .then(responce.send({success:true, error:null, imgRef:imgRootPath}))
+ .catch(e=>{
+ responce.send({success:false, error:e})
+ })
+ } else {
+ responce.send({success:false, error:'user exists'})
+ }
+ } else {
+ responce.send({success:false, error:'invalid auth token'})
+ }
+ } else {
+ responce.send({success:false, error:'invalid data'})
+ }
+})
app.post('/request-api', async function(request, responce){
if (request.body.prodID && request.body.authToken && request.body.usrMsg) {
@@ -397,7 +445,7 @@ app.post('/new-product-api', function(request, responce){
let imageName = image.name
let newProductRef = database.ref('/products')
- let key = await newProductRef.push(product).then(key => {
+ newProductRef.push(product).then(key => {
let productKey = key.key
let imgPath = productKey + '/' + imageName
let productRef = database.ref('/products/' + productKey)
@@ -478,21 +526,15 @@ async function checkNewUser(user){
let snapshot = await checkUserExists(user.uid)
if (snapshot){
let users = snapshot.val()
- var keys = Object.keys(users)
- uData = users[keys[0]]
- let retData = {success:true, userName:uData.fName + " " + uData.lName, address:uData.address}
+ let keys = Object.keys(users)
+ let uData = users[keys[0]]
+ let uName = uData.fName
+ let retData = {success:true, registered:true, name:uName}
return retData
}
else {
- console.log("Creating new user")
- let uData = {
- fName:user.displayName,
- lName:"",
- UID:user.uid,
- email:user.email,
- address:""
- }
- return await createNewUser(uData)
+ let retData = {success:true, registered:false}
+ return retData
}
}
@@ -503,16 +545,6 @@ async function checkUserExists(uid){
else {return false}
}
-async function createNewUser(uData){
- let userRef = database.ref('/users')
- let x = await userRef.push(uData)
- return {success:true, userName:uData.fName + " " + uData.lName, address:uData.address}
-}
-
-async function authorisedToPurchase(uid, pid){
- return true
-}
-
async function verifyExists(pid) {
let productRef = database.ref("/products/"+pid)
let snapshot = await productRef.once('value')
diff --git a/functions/views/404.ejs b/functions/views/404.ejs
index a10d989..86ae517 100644
--- a/functions/views/404.ejs
+++ b/functions/views/404.ejs
@@ -8,26 +8,4 @@
-
-
-
-
-