2018-03-19 06:48:05 +00:00
|
|
|
import Vue from 'vue';
|
2018-04-26 12:08:08 +00:00
|
|
|
import Cookies from 'js-cookie';
|
2018-04-26 13:39:21 +00:00
|
|
|
import axios from 'axios';
|
|
|
|
|
2018-03-19 06:48:05 +00:00
|
|
|
|
|
|
|
export default new Vue({
|
2018-04-26 12:08:08 +00:00
|
|
|
data() {
|
2018-03-19 06:48:05 +00:00
|
|
|
return {
|
2018-04-27 15:13:18 +00:00
|
|
|
uploadToken: null,
|
|
|
|
adminToken: null,
|
|
|
|
user: null
|
2018-03-19 06:48:05 +00:00
|
|
|
}
|
|
|
|
},
|
2018-04-26 12:08:08 +00:00
|
|
|
|
|
|
|
created()
|
|
|
|
{
|
|
|
|
var self = this;
|
|
|
|
|
2018-04-27 15:13:18 +00:00
|
|
|
var cookie = Cookies.get('adminToken');
|
2018-04-26 12:08:08 +00:00
|
|
|
if (typeof cookie !== 'undefined')
|
2018-04-27 15:13:18 +00:00
|
|
|
self.adminToken = cookie;
|
|
|
|
|
|
|
|
|
|
|
|
self.$on('apiError', (error, $router) =>
|
|
|
|
{
|
|
|
|
if (error.response && error.response.status == 403)
|
|
|
|
{
|
|
|
|
self.adminToken = null;
|
|
|
|
$router.push('/admin');
|
|
|
|
}
|
|
|
|
else
|
|
|
|
self.$emit('showNotification', error.message);
|
|
|
|
});
|
2018-04-26 12:08:08 +00:00
|
|
|
},
|
|
|
|
|
|
|
|
watch: {
|
2018-04-27 15:13:18 +00:00
|
|
|
adminToken(newValue)
|
2018-04-26 12:08:08 +00:00
|
|
|
{
|
2018-04-26 13:39:21 +00:00
|
|
|
var self = this;
|
|
|
|
|
|
|
|
if (newValue !== null)
|
|
|
|
{
|
2018-04-27 15:13:18 +00:00
|
|
|
Cookies.set('adminToken', newValue);
|
2018-04-26 13:39:21 +00:00
|
|
|
|
|
|
|
axios.get('/admin/whoami', {
|
|
|
|
headers: {
|
2018-04-27 15:13:18 +00:00
|
|
|
Authorization: 'Bearer ' + self.adminToken
|
2018-04-26 13:39:21 +00:00
|
|
|
}})
|
|
|
|
.then((response) =>
|
|
|
|
{
|
|
|
|
self.user = response.data;
|
2018-04-27 15:13:18 +00:00
|
|
|
})
|
|
|
|
.catch((error) =>
|
|
|
|
{
|
2018-04-26 13:39:21 +00:00
|
|
|
});
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
2018-04-27 15:13:18 +00:00
|
|
|
Cookies.remove('adminToken');
|
2018-04-26 13:39:21 +00:00
|
|
|
self.user = null;
|
|
|
|
}
|
2018-04-26 12:08:08 +00:00
|
|
|
}
|
|
|
|
}
|
2018-03-19 06:48:05 +00:00
|
|
|
});
|