// Require in Express and app const express = require('express'); const app = express();// Require/Config dotenv for access to your PORT const dotenv = require('dotenv').config(); const PORT = process.env.PORT;// Require GraphQL and Schema const graphql = require('express-graphql'); const schema = require('./schema/schema');// Initialize up Redis Client const redis = require('redis'); const redisClient = redis.createClient({ host: 'localhost', port: 6379, });// Require in RediQLess middleware const { RediQLess } = require('rediqless'); // Pass redisClient into RediqLess Constructor const RediQL = new RediQLess(redisClient); // Implement RediQLess' query capability const RediQLQuery = RediQL.query; // Implement RediqLess' cache clearing capability const RediQLClear = RediQL.clearCache;// Leverage RediQLess Queries // ** Assign queries on the front-end to 'req.body.data.query' app.use('/rediql', RediQLQuery, (req, res) => { return res.status(202).send(res.locals.query)) });// Leverage RediQLess Cache Clearing app.use('/clearcache', RediQLClear, (req, res) => { return res.status(202).send('Cache Cleared') });// RediQLess query will forward request to this Middleware if information is not yet cached app.use('/graphql', graphqlHTTP.graphqlHTTP({ schema, graphiql: true }));
|