From 85b88b7d177a5cb49c069e049330581c1cf4c281 Mon Sep 17 00:00:00 2001 From: Georg Reisinger <43533139+GeorgReisinger@users.noreply.github.com> Date: Wed, 20 Mar 2019 20:10:21 +0100 Subject: [PATCH] User Bearbeiten User bearbeiten, holt die daten des Users vom server (Bild und Name) Beides kommt an, aber nur der Name wird angezeigt, das Bild wird nicht gesetzt, aber kann manuell gesetzt werden, wenn man bei data einen link reinschreibt --- express-server/db-connect/db-connect.js | 14 ++++++- express-server/public/javascripts/user.js | 50 +++++++++++++++++++++++ express-server/routes/index.js | 13 ++++++ express-server/views/user.ejs | 49 ++++++++++++++++++++++ 4 files changed, 124 insertions(+), 2 deletions(-) create mode 100644 express-server/public/javascripts/user.js create mode 100644 express-server/views/user.ejs diff --git a/express-server/db-connect/db-connect.js b/express-server/db-connect/db-connect.js index c19422f8..a9e255ae 100644 --- a/express-server/db-connect/db-connect.js +++ b/express-server/db-connect/db-connect.js @@ -30,6 +30,15 @@ async function getmessageids(sl_id) { } } +async function getUser(uid){ + try { + var users = await query('SELECT row_to_json("User") AS obj FROM "User" WHERE username = $1;', [uid]); + return users; + } catch (error) { + console.error("Error", error); + } +} + async function searchUsers(searchstring) { try { @@ -39,7 +48,7 @@ async function searchUsers(searchstring) { for(let item of users) { if(item.name != null) { if(item.name.includes(searchstring)) { - output.push(item) + output.push(item); } } } @@ -606,5 +615,6 @@ module.exports = { getShoppinglistsByLink, searchUsers, removeMember, - moveDoneItemMan + moveDoneItemMan, + getUser } \ No newline at end of file diff --git a/express-server/public/javascripts/user.js b/express-server/public/javascripts/user.js new file mode 100644 index 00000000..8be783b0 --- /dev/null +++ b/express-server/public/javascripts/user.js @@ -0,0 +1,50 @@ +// Initialize Firebase +var config = { + apiKey: "AIzaSyCuvwf78cmSDoZ2yS4XxHZhnjUn7yIHYfw", + authDomain: "test-667ca.firebaseapp.com", + databaseURL: "https://test-667ca.firebaseio.com", + projectId: "test-667ca", + storageBucket: "test-667ca.appspot.com", + messagingSenderId: "221332577314" +}; +firebase.initializeApp(config); + +var fireuser; + + +var vue = new Vue({ + el: '#vue-app', + prop: { + name: '' + }, + data() { + return { + dataPic: '' + } + }, + methods: { + updateUser(){ + + }, + getPicUrl(){ + return this.picUrl; + } + }, + beforeCreate() { + firebase.auth().onAuthStateChanged(function(user) { + if (user) { + fireuser = user; + //GetUser + axios.get('/getUser/' + fireuser.uid).then(result => { + name = result.data[0].name; + dataPic = result.data[0].picture + ""; + console.log("DataPic: ", dataPic) + }).catch(err => console.error(err)); + } else { + window.location("/"); + this.dataPic = "error" + } + }); + + }, +}); \ No newline at end of file diff --git a/express-server/routes/index.js b/express-server/routes/index.js index 2cd09411..79bc6a96 100644 --- a/express-server/routes/index.js +++ b/express-server/routes/index.js @@ -15,6 +15,19 @@ var firebaseAdmin = admin.initializeApp({ databaseURL: 'https://test-667ca.firebaseio.com' }); + router.get('/user', function(req, res, next){ + res.status(200).render('user'); + }); + + router.get('/getuser/:uid', async function(req, res){ + try { + var sender = await postgres.getUser(req.params.uid); + res.status(200).send(sender); + }catch (err) { + res.status(400).send(await err); + } + }); + //Push router.get('/push/:msgtoken/:message/:title', function (req, res, next) { diff --git a/express-server/views/user.ejs b/express-server/views/user.ejs new file mode 100644 index 00000000..38aaf31c --- /dev/null +++ b/express-server/views/user.ejs @@ -0,0 +1,49 @@ + + +
+ + + + + + + + + + + +