From 784b4fbaf88e5840430a8aeef78ed48d417f112b Mon Sep 17 00:00:00 2001 From: Douglas Barone Date: Sat, 19 Dec 2020 10:39:53 -0400 Subject: [PATCH] Fix: caching now works again --- server/src/server.js | 11 +++++++---- server/src/typeDefs.js | 17 +++++++++++------ web/src/plugins/vue-apollo.js | 2 +- 3 files changed, 19 insertions(+), 11 deletions(-) diff --git a/server/src/server.js b/server/src/server.js index 6f7ec76..6d8b142 100755 --- a/server/src/server.js +++ b/server/src/server.js @@ -33,10 +33,13 @@ const server = new ApolloServer({ }, plugins: [ responseCachePlugin({ - sessionId: requestContext => - requestContext.request.http.headers.get('Authorization') || - requestContext.request.http.headers.get('authorization') || - null + sessionId: requestContext => { + return ( + requestContext.request.http.headers.get('authorization') || + requestContext.request.http.headers.get('Authorization') || + null + ) + } }) ] }) diff --git a/server/src/typeDefs.js b/server/src/typeDefs.js index 1b47237..ee59ee6 100644 --- a/server/src/typeDefs.js +++ b/server/src/typeDefs.js @@ -5,8 +5,7 @@ const typeDefs = gql` "Returns only a few fields of User" basicUser(sAMAccountName: String!): User! @cacheControl(maxAge: 350) - me: User! @auth - "@cacheControl(maxAge: 30, scope: PRIVATE)" + me: User! @auth @cacheControl(maxAge: 30, scope: PRIVATE) users( where: UserWhereInput! limit: Int = 15 @@ -21,7 +20,7 @@ const typeDefs = gql` @auth(roles: ["servant"]) @cacheControl(maxAge: 350) - stats: Stats! + stats: Stats! @cacheControl(maxAge: 30) userPresence(search: String = ""): [UserPresence!] @auth(roles: ["watcher"]) @@ -29,11 +28,17 @@ const typeDefs = gql` search: String = "" identifiedOnly: Boolean = false nonIdentifiedOnly: Boolean = false - ): [WifiDevice]! @auth(roles: ["superAdmin"]) + ): [WifiDevice]! + @cacheControl(maxAge: 10, scope: PRIVATE) + @auth(roles: ["superAdmin"]) - wifiUsers: [User]! @auth(roles: ["superAdmin"]) + wifiUsers: [User]! + @auth(roles: ["superAdmin"]) + @cacheControl(maxAge: 10, scope: PRIVATE) - logs: [Log]! @auth(roles: ["superAdmin"]) + logs: [Log]! + @auth(roles: ["superAdmin"]) + @cacheControl(maxAge: 5, scope: PRIVATE) } type Mutation { diff --git a/web/src/plugins/vue-apollo.js b/web/src/plugins/vue-apollo.js index a5faaf3..55d9d2a 100755 --- a/web/src/plugins/vue-apollo.js +++ b/web/src/plugins/vue-apollo.js @@ -28,7 +28,7 @@ const defaultOptions = { persisting: false, // Use websockets for everything (no HTTP) // You need to pass a `wsEndpoint` for this to work - websocketsOnly: true, + websocketsOnly: false, // true não funciona com a cache do servidor! // Is being rendered on the server? ssr: false