1.0.2 • Published 2 years ago

json-express-router v1.0.2

Weekly downloads
-
License
ISC
Repository
github
Last release
2 years ago

JSON-express-router

NPM module allowing to use json objects as expressJS router. it also includes Jsonwebtoken to secure routes or to specify a particular User Role.

Installation

npm i json-express-router

Utilisation

Use the router.js file to define your route ,and the role authorized for access.

// router.js
const someController = require('someController');
const someMiddleware = require('someMiddleware');
const router =
[
    {
        path:'/login',
        method:'POST',
        role:[],
        secure:false,
        middleware:[someMiddleware],
        controller: (req,res)=>{
                res.status(200).json('login succesfuly')
        }
    },
    {
        path:'/hello',
        method:'GET',
        role:['ROLE_USER','ROLE_ADMIN'],
        middleware:[],
        controller:someController
    } 
]
module.exports = router;
  • path: the route path.
  • method: the http method.
  • role: (array of string) List of the user Role who can access to this route.
  • secure(optional): boolean use this when you do not use Role, but the route must be secured by jsonwebtoken.
  • middleware: (array of function) List of the middleware.
  • controller: controller of the route.

//app.js

const express = require('express');
const app = express();
const server = require('http').createServer(app)

 const _router = require('./router')
 const Router = require('JSON-express-router');

// Server port
let port = 3000;

// Launch server listening to request
server.listen(port, function () {
console.log('Server listening at port %d', port);
});

Router.router(app,_router);

Methods

  • router(_app,_router): the router fonction, _app is the express app and _router is the route list.

  • verify(err,req, res, next,role): auth fonction for verify jwt, you must passed err,req,res object and the next fonction to use this fonction, role is the role of the user connected is a optional parameter but you must use it when the routes is authorized for a specific role.
  • jwToken(req,res,payload,privateKey,option): payload,privateKey,option for create the jwt, the function send automaticaly the token.