Skip to content
Snippets Groups Projects
Commit 42892368 authored by Endrizzi, Marco (UG - Comp Sci & Elec Eng)'s avatar Endrizzi, Marco (UG - Comp Sci & Elec Eng)
Browse files

Now fetching all the users using the app

parent ab01fefc
No related branches found
No related tags found
No related merge requests found
import { firebaseAuth, firebaseDb } from 'boot/firebase' import { firebaseAuth, firebaseDb } from 'boot/firebase'
const state = { const state = {
userDetails: {} userDetails: {},
users: {}
} }
const mutations = { const mutations = {
setUserDetails(state, payload) { setUserDetails(state, payload) {
state.userDetails = payload state.userDetails = payload
},
addUser(state, payload) {
state.users[payload.userId] = payload.userDetails
},
updateUser(state, payload) {
Object.assign(state.users[payload.userId], payload.userDetails)
} }
} }
...@@ -61,6 +70,7 @@ const actions = { ...@@ -61,6 +70,7 @@ const actions = {
online: true online: true
} }
}) })
dispatch('firebaseGetUsers')
this.$router.push('/') this.$router.push('/')
} }
else { else {
...@@ -79,10 +89,39 @@ const actions = { ...@@ -79,10 +89,39 @@ const actions = {
firebaseUpdateUser({}, payload) { firebaseUpdateUser({}, payload) {
firebaseDb.ref('users/' + payload.userId).update(payload.updates) firebaseDb.ref('users/' + payload.userId).update(payload.updates)
},
firebaseGetUsers({ commit }) {
firebaseDb.ref('users').on('child_added', snapshot => {
let userDetails = snapshot.val()
let userId = snapshot.key
commit('addUser', {
userId,
userDetails
})
})
firebaseDb.ref('users').on('child_changed', snapshot => {
let userDetails = snapshot.val()
let userId = snapshot.key
commit('updateUser', {
userId,
userDetails
})
})
} }
} }
const getters = {} const getters = {
users: state => {
let usersFiltered = {}
Object.keys(state.users).forEach(key => {
if (key !== state.userDetails.userId) {
usersFiltered[key] = state.users[key]
}
})
return usersFiltered
}
}
export default { export default {
namespaced: true, namespaced: true,
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment