1.0.0-aplha.3.1 • Published 3 years ago
@midgar/route v1.0.0-aplha.3.1
@midgar/route
Plugin Midgar pour la gestion des controllers
Installation
$ npm i @midgar/route
Si tout s'est bien passé, un message de confirmation s'affiche:
#midgar-cli
@midgar/route added to plugins.json !
Fonctionnement
Ce plugin ajoute un type de module midgar-controller dans le dossier ./controllers/
Il suffit d'ajouter un controller dans le dossier ./controllers de votre plugin pour qu'il soit automatiquement importé au lancement de l'application et injecté dans express.
Exemple de controller
import { Controller } from '@midgar/route'
// Tableau de service a injécter
// @see: https://github.com/midgarjs/service
const dependencies = ['mid:user']
class UserController extends Controller {
// Les dépendances sont injécté dans le contructeur
constructor(mid, userService) {
super(mid)
this.prefix = 'user'
this.userService = userService
}
/**
* Cette méthod est appelé automatiquement
* lors de l'instanciation du controller.
*/
init() {
this.addRoutes([
{
path: 'login',
action: (...args) => this.login(...args)
},
{
method: 'post',
path: 'login',
action: (...args) => this.loginPost(...args)
},
{
path: 'register',
action: (...args) => this.register(...args)
},
{
path: '/',
action: (...args) => this.users(...args)
}
])
}
// GET /user/login route
async login(req, res) {
if (await this.userService.login(req.getParam('login'), req.getParam('password', false))) {
res.send({ success: true })
} else {
res.send({ success: false })
}
}
// POST /user/login route
loginPost(req, res) {}
// GET /user/register route
register(req, res) {}
// GET /user route
user(req, res) {}
}
export default {
dependencies,
controller: UserController
}
Les methodes terminant par Route, GetRoute, PostRoute, AllRoute sont automatiquement transformer en routes. documentation Api.
1.0.0-aplha.3.1
3 years ago
1.0.0-aplha.3.0
3 years ago
1.0.0-beta.2.0
4 years ago
1.0.0-beta.1.1
4 years ago
1.0.0-beta.1.0
4 years ago