diff --git a/.rnd b/.rnd new file mode 100644 index 0000000..6815908 Binary files /dev/null and b/.rnd differ diff --git a/public/mix-manifest.json b/public/mix-manifest.json index 98e2d6f..86dc776 100644 --- a/public/mix-manifest.json +++ b/public/mix-manifest.json @@ -1,13 +1,6 @@ { -<<<<<<< HEAD - "/js/vue/Authentication/app.js": "/js/vue/Authentication/app.js?id=3079f55bdae5772792ec", - "/js/vue/Home/app.js": "/js/vue/Home/app.js?id=13a565a1884137ab8ad2", - "/js/vue/Modules/CRM/app.js": "/js/vue/Modules/CRM/app.js?id=9dba1ac1bbeaea9812fe", - "/js/vue/User/app.js": "/js/vue/User/app.js?id=47e2a22474f111e7ce8a" -======= - "/js/vue/Authentication/app.js": "/js/vue/Authentication/app.js?id=96a8a21c57f3f6607a24", - "/js/vue/Home/app.js": "/js/vue/Home/app.js?id=cc6efa13405e4735fca0", - "/js/vue/Modules/CRM/app.js": "/js/vue/Modules/CRM/app.js?id=7a7f9e30ad43098f5a32", - "/js/vue/User/app.js": "/js/vue/User/app.js?id=31c08a25d351028ec785" ->>>>>>> 7c68b23eacbbabbd37a3ff22859871fee1f70e58 + "/js/vue/Authentication/app.js": "/js/vue/Authentication/app.js?id=fd60b024e273b82a7845", + "/js/vue/Home/app.js": "/js/vue/Home/app.js?id=1840438a7c2639ecc0eb", + "/js/vue/Modules/CRM/app.js": "/js/vue/Modules/CRM/app.js?id=9f4332442b1eb2e3507e", + "/js/vue/User/app.js": "/js/vue/User/app.js?id=bf0ac83a9847d4842b17" } diff --git a/resources/js/Global/services/api.services.js b/resources/js/Global/services/api.services.js new file mode 100644 index 0000000..cf3ff42 --- /dev/null +++ b/resources/js/Global/services/api.services.js @@ -0,0 +1,26 @@ +import axios from 'axios' +import { TokenService } from './storage.services' + +const ApiService = { + + init(baseURL) { + axios.defaults.baseURL = baseURL; + }, + + setHeader() { + axios.defaults.headers.common["Accept"] = `application/json`; + axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; + }, + + setAuthHeader() { + axios.defaults.headers.common["Authorization"] = `Bearer ${TokenService.getToken()}`; + }, + + removeAuthHeader() { + axios.defaults.headers.common["Authorization"] = null; + }, + +} + +export default ApiService +export { ApiService } diff --git a/resources/js/Global/services/storage.services.js b/resources/js/Global/services/storage.services.js new file mode 100644 index 0000000..7de6845 --- /dev/null +++ b/resources/js/Global/services/storage.services.js @@ -0,0 +1,40 @@ +import qs from 'qs'; + +const TOKEN_KEY = 'access_token' +const USER = 'user' +/** + * 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 = { + getUser() { + return qs.parse(localStorage.getItem(USER)) + }, + + saveUser(user = null) { + user = qs.stringify(user); + localStorage.setItem(USER, user) + }, + + removeUser() { + localStorage.removeItem(USER) + }, +} + +export { TokenService, UserService } diff --git a/resources/js/Global/services/url.service.js b/resources/js/Global/services/url.service.js index 0ad7496..472e13a 100644 --- a/resources/js/Global/services/url.service.js +++ b/resources/js/Global/services/url.service.js @@ -1,27 +1,25 @@ -const urlGenerator = (url, parameters = {}) => { - let urlPath = url.split("/"); - let newPath = []; - for (const iterator of urlPath) { - if (iterator.startsWith(":")) { - if (iterator.endsWith("?")) { - if (parameters.hasOwnProperty(iterator.slice(1, -1))) { - newPath.push(parameters[iterator.slice(1, -1)]); +const urlGenerator = (urls) => { + return function(routeAddress, parameters) { + let urlPath = urls[routeAddress].split("/"); + let newPath = []; + for (const iterator of urlPath) { + if (iterator.startsWith(":")) { + if (iterator.endsWith("?")) { + if (parameters.hasOwnProperty(iterator.slice(1, -1))) { + newPath.push(parameters[iterator.slice(1, -1)]); + } + } else { + console.assert(parameters.hasOwnProperty(iterator.slice(1)), 'parameter "' + iterator.slice(1) + '" not specified in parameters.') + newPath.push(parameters[iterator.slice(1)]); } } else { - console.assert( - parameters.hasOwnProperty(iterator.slice(1)), - 'parameter "' + - iterator.slice(1) + - '" not specified in parameters.' - ); - newPath.push(parameters[iterator.slice(1)]); + newPath.push(iterator); } - } else { - newPath.push(iterator); } + return '/' + newPath.join("/"); } - - return ("/" + newPath.join("/")).replace("//", "/"); }; -export { urlGenerator }; +export { + urlGenerator +}