forked from AkkomaGang/akkoma-fe
44 lines
1.1 KiB
JavaScript
44 lines
1.1 KiB
JavaScript
import apiService from '../services/api/api.service.js'
|
|
import timelineFetcher from '../services/timeline_fetcher/timeline_fetcher.service.js'
|
|
|
|
const users = {
|
|
state: {
|
|
currentUser: false,
|
|
loggingIn: false
|
|
},
|
|
mutations: {
|
|
setCurrentUser (state, user) {
|
|
state.currentUser = user
|
|
},
|
|
beginLogin (state) {
|
|
state.loggingIn = true
|
|
},
|
|
endLogin (state) {
|
|
state.loggingIn = false
|
|
}
|
|
},
|
|
actions: {
|
|
loginUser (store, userCredentials) {
|
|
const commit = store.commit
|
|
commit('beginLogin')
|
|
return apiService.verifyCredentials(userCredentials)
|
|
.then((response) => {
|
|
if (response.ok) {
|
|
response.json()
|
|
.then((user) => {
|
|
user.credentials = userCredentials
|
|
commit('setCurrentUser', user)
|
|
})
|
|
.then(() => timelineFetcher.startFetching({store, credentials: userCredentials}))
|
|
}
|
|
commit('endLogin')
|
|
})
|
|
.catch((error) => {
|
|
console.log(error)
|
|
commit('endLogin')
|
|
})
|
|
}
|
|
}
|
|
}
|
|
|
|
export default users
|