@escueladigital/micro
TypeScript icon, indicating that this package has built-in type declarations

3.4.37 • Public • Published

Alt Text Pendragon

Open source simple microservice manager for nodejs

Install

npm install pendragon

Estructura del projecto

 api
   | config
       | communication.js
       | routes.js
   consumer
       | consumerName.js
   controllers
       | controllerName.js
   events
       | microName
            | consumerName.js
   schemas
       | schemaName.js
    helpers
       | index.js
config/

communication.js

module.exports = [];
/* 
  En caso de que se tenga que se necesite comunicación entre microservicios se tiene que exportar el arreglo con el nombre del servicio por ejemplo
  
  module.exports = ['servicename','servicename2'];
  */

routes.js

/* 
Exportar el objeto de rutas posibles de la api, en este caso el contralador debe de existir así como la accion en el controlador del mismo.
*/
module.exports = {
  'GET /version': {
    controller: 'index',
    action: 'version'
  }
};
/*
Si no se desea exportar un ruta simplemente exportar
module.exports = {}
*/
consumer/

example.js

const { micro } = require('@escueladigital/pendragon');

module.exports = {
  getById: async req => {
    const payload = await micro.app.models.actividadespropuestas.findAll({});
    return payload; // return all data
  }
};

req el parametro req contiene bastante información así como los parametros de graphql

En este caso los modelos que son generados en el apartado de schemas y son inyectados en el objeto app y podemos usar los métodos de mongoose como findOne o find.

Al final es importante retornar el resultado, todos los métodos en los consumer son de retorno.

Los métodos adicionales deben ubicarse en la siguiente ruta:

Package Sidebar

Install

npm i @escueladigital/micro

Weekly Downloads

25

Version

3.4.37

License

ISC

Unpacked Size

42.5 kB

Total Files

15

Last publish

Collaborators

  • carlosbajo