From 71865159e32b8b339f1e7322c4a81b36d9af43ab Mon Sep 17 00:00:00 2001 From: Conor McNamara Date: Sun, 12 Mar 2023 13:39:35 +0000 Subject: [PATCH] Implement CRUD operations on user accounts --- functions/index.js | 2 + src/components/Navbar.vue | 6 +- src/pages/AccountPage.vue | 165 ++++++++++++++++++++++++++++++++++++++ src/pages/LoginPage.vue | 14 ++-- src/pages/SecurePage.vue | 32 -------- src/pages/SignUpPage.vue | 28 ++++--- src/router/routes.js | 2 +- 7 files changed, 194 insertions(+), 55 deletions(-) create mode 100644 src/pages/AccountPage.vue delete mode 100644 src/pages/SecurePage.vue diff --git a/functions/index.js b/functions/index.js index 1e7e4db..2f11229 100644 --- a/functions/index.js +++ b/functions/index.js @@ -42,6 +42,7 @@ exports.postStationData = functions.https.onRequest((request, response) => { // helper function to write to the database function batchWriteDB(request, response, db, jsonData, dartCodes, stationTypeCode) { + if (!jsonData) return response.set('Access-Control-Allow-Origin', '*'); response.set('Access-Control-Allow-Credentials', 'true'); @@ -136,6 +137,7 @@ exports.postLiveTrainData = functions.https.onRequest((request, response) => { // helper function to write to the database function batchWriteDB(request, response, db, jsonData, trainTypeCode) { + if (!jsonData) return response.set('Access-Control-Allow-Origin', '*'); response.set('Access-Control-Allow-Credentials', 'true'); diff --git a/src/components/Navbar.vue b/src/components/Navbar.vue index 3d47421..a710f33 100644 --- a/src/components/Navbar.vue +++ b/src/components/Navbar.vue @@ -17,12 +17,12 @@ Insights diff --git a/src/pages/AccountPage.vue b/src/pages/AccountPage.vue new file mode 100644 index 0000000..6930af0 --- /dev/null +++ b/src/pages/AccountPage.vue @@ -0,0 +1,165 @@ + + + + + \ No newline at end of file diff --git a/src/pages/LoginPage.vue b/src/pages/LoginPage.vue index 57c0914..99dfd58 100644 --- a/src/pages/LoginPage.vue +++ b/src/pages/LoginPage.vue @@ -11,6 +11,7 @@ Don't have an account? +

{{ FirebaseError }}

@@ -25,7 +26,9 @@ export default { data() { return { email: "", - password: "" + password: "", + displayFirebaseError: false, + FirebaseError: "" } }, @@ -35,17 +38,16 @@ export default { methods: { login() { + this.displayFirebaseError = false const auth = getAuth(app) signInWithEmailAndPassword(auth, this.email, this.password) .then((userCredential) => { const user = userCredential.user - this.$router.push({path:'/secure'}) + this.$router.push({path:'/account'}) }) .catch((error) => { - const errorCode = error.code - const errorMessage = error.message - console.log(errorCode) - console.log(errorMessage) + this.FirebaseError = error.message + this.displayFirebaseError = true }) } } diff --git a/src/pages/SecurePage.vue b/src/pages/SecurePage.vue deleted file mode 100644 index a722258..0000000 --- a/src/pages/SecurePage.vue +++ /dev/null @@ -1,32 +0,0 @@ - - - - - \ No newline at end of file diff --git a/src/pages/SignUpPage.vue b/src/pages/SignUpPage.vue index d58d1ce..e6fe3e1 100644 --- a/src/pages/SignUpPage.vue +++ b/src/pages/SignUpPage.vue @@ -11,6 +11,7 @@ Already have an account? +

{{ FirebaseError }}

@@ -25,7 +26,9 @@ export default { data() { return { email: "", - password: "" + password: "", + displayFirebaseError: false, + FirebaseError: "" } }, @@ -35,17 +38,16 @@ export default { methods: { signup() { + this.displayFirebaseError = false; const auth = getAuth(app) createUserWithEmailAndPassword(auth, this.email, this.password) .then((userCredential) => { const user = userCredential.user - this.$router.push({path:'/secure'}) + this.$router.push({path:'/account'}) }) .catch((error) => { - const errorCode = error.code - const errorMessage = error.message - console.log(errorCode) - console.log(errorMessage) + this.FirebaseError = error.message + this.displayFirebaseError = true }) } } @@ -54,13 +56,13 @@ export default {