import qs from 'qs'; const TOKEN_KEY = 'access_token' const USER = 'user' const PERMISSION = 'permission' /** * 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) }, } export { TokenService, UserService, PermissionService }