0.1.0 • Published 4 years ago

sbx-server-rest-gateway v0.1.0

Weekly downloads
32
License
-
Repository
-
Last release
4 years ago

sbx-server-router

sbx-server-router module

Requirements

  • node >= 10
  • sbx >=0.7.1

Peer dependencies

"jsonwebtoken": "^8.5.1",
"koa": "^2.11.0",
"koa-body": "^4.1.1",
"koa-compress": "^3.0.0",
"lodash": "^4.17.15",
"nats": "^1.3.2"

Installation

$ sbx install sbx-server-router

Use package:

const Router = require('sbx-server-router');
//
module.exports = new Router({
	controllerList: __dirname + '/controllers/', //Load with dir
	routeList: Object.assign(
		require('./routes/testRoutes')
	),
	publicKey: [fs.readFileSync(__dirname+'/rsa.pub','utf-8')],
	privateKey: fs.readFileSync(__dirname+'/rsa.private','utf-8'),
	port:8080,
	rolesList:{
	    admin: 3,
	    client: 1
	}
});

Routes map example

module.exports = {

    'POST://chats/conversation(/)': {
        access: ['developer', 'manager', 'admin'],
        name: 'Add message',
        params: {
            'group_id': {type:'integer'},
            'create_time': {type:'integer'},
            'user_id': {type:'integer'},
            'message': {type:'string'},
            'files': {type:'string'}
        },
        action: 'addChatConversation'
    },

    'PUT://chats/conversation/:_id(/)': {
        access:['developer', 'manager', 'admin'],
        name: 'Update conversation',
        params: {
            'group_id': {type:'integer'},
            'create_time': {type:'integer'},
            'user_id': {type:'integer'},
            'message': {type:'string'},
            'files': {type:'string'}
            },
        action: 'updateChatConversation'
    }
}

Developers

  • Viktor Fischer
  • Kirill Birykov

FAQ

  • routeList - object with routes or string directory path route exmaple {'POST://test(/)': {access: 'admin',action: 'makeAction'},
  • controllerList - object with methods or string directory path
  • port - integer
  • rolesList - object with roles like {admin:3,client:1} isAll added by default
  • defaultAccess - object access for non-auth user
  • privateKey - rsa private key, optional if server only read token (https://www.csfieldguide.org.nz/en/interactives/rsa-key-generator/)
  • publicKey - rsa public key - required to verify token

License

Copyright (c) 2019 Sobix Group LLC

0.1.0

4 years ago

0.0.21

4 years ago

0.0.22

4 years ago

0.0.20

4 years ago

0.0.18

4 years ago

0.0.16

4 years ago

0.0.17

4 years ago

0.0.15

4 years ago