Henrique Dias e1fb77a33b Clean source folder
Former-commit-id: 881d4adb1d54fcda5430ec0fd5793e621d573629 [formerly a00be7ce0492a17e68dbdbe597afe75b3c1742d6] [formerly aeeedee3a6730655dcc069af32a6340f634b554e [formerly 953fbfba6fcd4792007a006e9963a7e29fc42c06]]
Former-commit-id: bf4e3d76a736452c81f1f694c379cf6c3a91c6b3 [formerly f0bb8cd5dfea6eb7bb2b8550f43ce3aa21332476]
Former-commit-id: dc6aff52d494357e1887d507cf6fa2a5cf3d55aa
2017-07-06 09:08:20 +01:00

61 lines
1.5 KiB
JavaScript

import cookie from './cookie'
import store from '@/store'
import router from '@/router'
function parseToken (token) {
document.cookie = `auth=${token}; max-age=86400; path=${store.state.baseURL}`
let res = token.split('.')
let user = JSON.parse(window.atob(res[1]))
store.commit('setJWT', token)
store.commit('setUser', user)
}
function loggedIn () {
return new Promise((resolve, reject) => {
let request = new window.XMLHttpRequest()
request.open('GET', `${store.state.baseURL}/api/auth/renew`, true)
request.setRequestHeader('Authorization', `Bearer ${cookie('auth')}`)
request.onload = () => {
if (request.status === 200) {
parseToken(request.responseText)
resolve()
} else {
reject()
}
}
request.onerror = () => reject()
request.send()
})
}
function login (user, password) {
let data = {username: user, password: password}
return new Promise((resolve, reject) => {
let request = new window.XMLHttpRequest()
request.open('POST', `${store.state.baseURL}/api/auth/get`, true)
request.onload = () => {
if (request.status === 200) {
parseToken(request.responseText)
resolve()
} else {
reject(request.responseText)
}
}
request.onerror = () => reject()
request.send(JSON.stringify(data))
})
}
function logout () {
document.cookie = `auth='nothing'; max-age=0; path=${store.state.baseURL}`
router.push({path: '/login'})
}
export default {
loggedIn: loggedIn,
login: login,
logout: logout
}