1.0.8 • Published 4 years ago

express-json-object-middleware v1.0.8

Weekly downloads
3
License
ISC
Repository
github
Last release
4 years ago

JSON Express Middleware

Project Router

const Express = require("express");
const Router = Express.Router();
const JSONMiddleware= require("express-json-object-middleware");

const ProjectsController = require("../controllers/projects-controller");

Router.get("/", JSONMiddleware.parse, ProjectsController.editByQuery);

Router.delete("/", JSONMiddleware.parse, ProjectsController.removeByQuery);

module.exports = Router;

Routes

const Express = require("express");
const Router = Express.Router();

const ProjectRouter = require("./project");

Router.use("/projects", ProjectRouter);
Express().use("/", Router);

const axios = require("axios").default;


try {
 const results = await axios.get("/projects", {filter: {_id: 1}});
 console.log(results);
} catch(err) {
  console.log(err)
}

JSON Middleware

parse(req, res, next){
  // req.query = {filter: '{_id: 1}'}
  // console.log(typeof(req.query.filter))
  // prints String

    parse(req, res, next) {
      if ((req.query === undefined) || (req.query.params === undefined)) {
        return next()
      };
      const JSONQuery = {};
      const query = typeof(req.query.params) === "string"
        ? JSON.parse(req.query.params)
        : req.query.params;
      Object.keys(query).map(key => {
        JSONQuery[key] = query[key];
      })
      req.query = JSONQuery;
      return next();
    }
  }
  // console.log(JSONObject)
  // prints {filter: {_id: 1}}
  // console.log(typeof(JSONObject.filter))
  // prints Object
  // Edits the query after converting it to a Object

  req.query = JSONQuery;
  return next();
}
1.0.8

4 years ago

1.0.7

4 years ago

1.0.6

4 years ago

1.0.5

4 years ago

1.0.4

4 years ago

1.0.2

4 years ago

1.0.3

4 years ago

1.0.1

4 years ago

1.0.0

4 years ago