@escueladigital/micro
v3.4.37
Published
Microservice manager for nodejs with kafka
Downloads
39
Readme
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: