@midgar/route
A Migdar plugin to load route
Last updated 3 months ago by edwardlow .
MIT · Repository · Bugs · Original npm · Tarball · package.json
$ cnpm install @midgar/route 
SYNC missed versions from official npm registry.

Build Status Coverage

@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.

Current Tags

  • 1.0.0-beta.2.0                                ...           latest (a month ago)

3 Versions

  • 1.0.0-beta.2.0                                ...           a month ago
  • 1.0.0-beta.1.1                                ...           3 months ago
  • 1.0.0-beta.1.0                                ...           3 months ago
Maintainers (1)
Downloads
Today 0
This Week 0
This Month 0
Last Day 0
Last Week 0
Last Month 0
Dependencies (7)
Dev Dependencies (17)
Dependents (0)
None

Copyright 2014 - 2016 © taobao.org |