@escueladigital/micro
Version:
Microservice manager for nodejs with kafka
84 lines (65 loc) • 1.8 kB
Markdown
Open source simple microservice manager for nodejs
Install
```bash
npm install pendragon
```
```bash
api
| config
| communication.js
| routes.js
consumer
| consumerName.js
controllers
| controllerName.js
events
| microName
| consumerName.js
schemas
| schemaName.js
helpers
| index.js
```
<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 = {}
*/
```
<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: