diff --git a/package-lock.json b/package-lock.json index 69998c6..3d720c9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1439,6 +1439,15 @@ "zen-observable-ts": "0.8.19" } }, + "apollo-link-context": { + "version": "1.0.18", + "resolved": "https://registry.npmjs.org/apollo-link-context/-/apollo-link-context-1.0.18.tgz", + "integrity": "sha512-aG5cbUp1zqOHHQjAJXG7n/izeMQ6LApd/whEF5z6qZp5ATvcyfSNkCfy3KRJMMZZ3iNfVTs6jF+IUA8Zvf+zeg==", + "requires": { + "apollo-link": "1.2.12", + "tslib": "1.9.3" + } + }, "apollo-link-error": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/apollo-link-error/-/apollo-link-error-1.1.11.tgz", diff --git a/package.json b/package.json index 116fede..967efc6 100644 --- a/package.json +++ b/package.json @@ -18,6 +18,7 @@ "apexcharts": "^3.8.3", "apollo-boost": "^0.4.3", "apollo-cache-inmemory": "^1.6.2", + "apollo-link-context": "^1.0.18", "axios": "^0.18.0", "bootstrap": "^4.1.3", "bootstrap-select": "^1.13.3", diff --git a/public/mix-manifest.json b/public/mix-manifest.json index 614b876..6fdc41b 100644 --- a/public/mix-manifest.json +++ b/public/mix-manifest.json @@ -1,7 +1,7 @@ { - "/js/vue/Authentication/app.js": "/js/vue/Authentication/app.js?id=f01c1b5058842989bda8", - "/js/vue/Home/app.js": "/js/vue/Home/app.js?id=2a67932b9f1c2c43df90", - "/js/vue/Modules/CRM/app.js": "/js/vue/Modules/CRM/app.js?id=cbbc762df1ddb670242b", - "/js/vue/Modules/Reservation/app.js": "/js/vue/Modules/Reservation/app.js?id=262f8b64cafdb30a40eb", - "/js/vue/User/app.js": "/js/vue/User/app.js?id=9a0599de25555c864f98" + "/js/vue/Authentication/app.js": "/js/vue/Authentication/app.js?id=edc3c72e1006f0f5c9a9", + "/js/vue/Home/app.js": "/js/vue/Home/app.js?id=72ca373c83375a1dbe0b", + "/js/vue/Modules/CRM/app.js": "/js/vue/Modules/CRM/app.js?id=03592ff04d0ec3cea27b", + "/js/vue/Modules/Reservation/app.js": "/js/vue/Modules/Reservation/app.js?id=65d80bc6799294ce9444", + "/js/vue/User/app.js": "/js/vue/User/app.js?id=e08d6d83816bb1be1a4d" } diff --git a/resources/js/Global/services/storage.services.js b/resources/js/Global/services/storage.services.js index ab236ae..7de6845 100644 --- a/resources/js/Global/services/storage.services.js +++ b/resources/js/Global/services/storage.services.js @@ -14,8 +14,6 @@ const TokenService = { }, saveToken(accessToken = null) { - console.log(accessToken); - localStorage.setItem(TOKEN_KEY, accessToken) }, diff --git a/resources/js/Global/utils/api/init/apollo.js b/resources/js/Global/utils/api/init/apollo.js index fff3d63..5d246a4 100644 --- a/resources/js/Global/utils/api/init/apollo.js +++ b/resources/js/Global/utils/api/init/apollo.js @@ -1,7 +1,26 @@ -import ApolloClient from 'apollo-boost' -import { InMemoryCache } from "apollo-cache-inmemory"; +import { ApolloClient } from 'apollo-client'; +import { createHttpLink } from 'apollo-link-http'; +import { setContext } from 'apollo-link-context'; +import { InMemoryCache } from 'apollo-cache-inmemory'; +import { TokenService } from "@Global/services/storage.services"; -export default new ApolloClient({ +const httpLink = createHttpLink({ uri: '/graphql', +}); + + +const authLink = setContext((_, { headers }) => { + // return the headers to the context so httpLink can read them + return { + headers: { + ...headers, + authorization: TokenService.getToken() ? `Bearer ${TokenService.getToken()}` : "", + } + } +}); + +export default new ApolloClient({ + link: authLink.concat(httpLink), cache: new InMemoryCache() -}); \ No newline at end of file +}); +