UNPKG

@escueladigital/micro

Version:

Microservice manager for nodejs with kafka

84 lines (65 loc) 1.8 kB
# ![Alt Text](logo/Pendragon.png) Pendragon Open source simple microservice manager for nodejs Install ```bash npm install pendragon ``` ### Estructura del projecto ```bash api | config | communication.js | routes.js consumer | consumerName.js controllers | controllerName.js events | microName | consumerName.js schemas | schemaName.js helpers | index.js ``` ##### config/ <u> communication.js</u> ```javascript 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']; */ ``` <u>routes.js</u> ```javascript /* 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/ <u>example.js</u> ```javascript 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: