You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
willaengine/resources/js/Global/services/storage.services.js

81 lines
1.8 KiB

import qs from 'qs';
const TOKEN_KEY = 'access_token'
const USER = 'user'
const PERMISSION = 'permission'
const VIRTUALACTIVITY = 'virtual_activity'
/**
* Manage the how Access Tokens are being stored and retreived from storage.
*
* Current implementation stores to localStorage. Local Storage should always be
* accessed through this instace.
**/
const TokenService = {
getToken() {
return localStorage.getItem(TOKEN_KEY)
},
saveToken(accessToken = null) {
localStorage.setItem(TOKEN_KEY, accessToken)
},
removeToken() {
localStorage.removeItem(TOKEN_KEY)
},
}
const UserService = {
get() {
if (localStorage.getItem(USER)) {
return qs.parse(localStorage.getItem(USER))
}
return null;
},
save(user = null) {
user = qs.stringify(user);
localStorage.setItem(USER, user)
},
remove() {
localStorage.removeItem(USER)
},
}
const PermissionService = {
get() {
if (localStorage.getItem(PERMISSION)) {
return qs.parse(localStorage.getItem(PERMISSION))
}
return null;
},
save(permission = null) {
permission = qs.stringify(permission);
localStorage.setItem(PERMISSION, permission)
},
remove() {
localStorage.removeItem(PERMISSION)
},
}
const VirtualActivityService = {
get() {
if (localStorage.getItem(VIRTUALACTIVITY)) {
return qs.parse(localStorage.getItem(VIRTUALACTIVITY))
}
return null;
},
save(virtualActivity = null) {
virtualActivity = qs.stringify(virtualActivity);
localStorage.setItem(VIRTUALACTIVITY, virtualActivity)
},
remove() {
localStorage.removeItem(PERMISSION)
},
}
export { TokenService, UserService, PermissionService, VirtualActivityService }