summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorWes Bos <wesbos@gmail.com>2017-08-25 09:33:53 -0400
committerWes Bos <wesbos@gmail.com>2017-08-25 09:33:53 -0400
commit7af74ff8988961c988f03c95961b70c2918521ae (patch)
treed73cd0dd94751b76595b7febcae4162811c2040b /lib
parent416c2cbae0e69b724876d232bf813eefd7550174 (diff)
yay
Diffstat (limited to 'lib')
-rw-r--r--lib/image.js5
-rw-r--r--lib/initApollo.js32
2 files changed, 31 insertions, 6 deletions
diff --git a/lib/image.js b/lib/image.js
new file mode 100644
index 0000000..40045b3
--- /dev/null
+++ b/lib/image.js
@@ -0,0 +1,5 @@
+// TODO: Put the project ID in a config file.
+export default function(image, width = 300, height = 300) {
+ if(!image || !image.secret) return '';
+ return `https://images.graph.cool/v1/cj5xz8szs28930145gct82bdj/${image.secret}/${width}x${height}`;
+}
diff --git a/lib/initApollo.js b/lib/initApollo.js
index 4ca3b05..de5c7f2 100644
--- a/lib/initApollo.js
+++ b/lib/initApollo.js
@@ -9,15 +9,35 @@ if (!process.browser) {
}
function create (initialState) {
+
+ const networkInterface = createNetworkInterface({
+ uri: 'https://api.graph.cool/simple/v1/cj5xz8szs28930145gct82bdj', // Server URL (must be absolute)
+ opts: { // Additional fetch() options like `credentials` or `headers`
+ credentials: 'same-origin',
+ }
+ });
+
+ // use the auth0IdToken in localStorage for authorized requests
+ networkInterface.use([
+ {
+ applyMiddleware(req, next) {
+ if (!req.options.headers) {
+ req.options.headers = {};
+ }
+
+ // get the authentication token from local storage if it exists
+ if (typeof localStorage !== 'undefined' && localStorage.getItem("auth0IdToken")) {
+ req.options.headers.authorization = `Bearer ${localStorage.getItem("auth0IdToken")}`;
+ }
+ next();
+ }
+ }
+ ]);
+
return new ApolloClient({
initialState,
ssrMode: !process.browser, // Disables forceFetch on the server (so queries are only run once)
- networkInterface: createNetworkInterface({
- uri: 'https://api.graph.cool/simple/v1/cj5xz8szs28930145gct82bdj', // Server URL (must be absolute)
- opts: { // Additional fetch() options like `credentials` or `headers`
- credentials: 'same-origin'
- }
- })
+ networkInterface
})
}