sbx-server-router
v0.0.1
Published
sbx-server-router
Downloads
6
Readme
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"
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
- Kirill Kotlyar
- Viktor Fischer
- Konstantin Fastov
- 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