@condor-labs/ec-events-gateway
Version:
Client to send events to events gateway API
68 lines (41 loc) • 1.74 kB
Markdown
# Events Gateway Client
Library to send messages through the events gateway service.
## How to use it
To use the library you just need to follow the following steps Install the library with npm
```npm install @condor-labs/ec-events-gateway```
Import the library
```const { events } = require('@condor-labs/ec-events-gateway');```
with ES6:
``` import { events } from '@condor-labs/ec-events-gateway': ```
### Enviroment variable
Define a variable in you **.env** file with the events gateway api URL with the following name:
```EVENTS_GATEWAY_URL```
That's all you need to start to send data to the events gateway api.
As an alternative you can pass a events gateway api url as parameter:
```events.save({payload, type, topic, schema, headers, url: 'http://localhost'});```
### Required data
To send events through the events gateway client you must send some required fields:
- type: string,
- topic: string,
- payload: object
### Client Schema
> @hapi/joi is not valid any more use [Joi](https://www.npmjs.com/package/joi) instead
You could define a valid Joi (Joi >= 17.9.2) schema to validate the events data you are sending to the events gateway service.
**Example**
```
const schema = {
firstName: Joi.number().required()
};
```
You can see more examples on the Joi API Documentation [Website](https://github.com/hapijs/joi/blob/v17.9.2/API.md).
And then send this schema through the **save** function as parameter.
```events.save({payload, type, topic, schema, headers, url: 'http://localhost'});```
### Headers:
You should define headers to pass the apikey to the amazon services:
```
headers: {
'x-api-key': 'value'
}
```
### Payload max size
Please, be sure the payload data is less than **250kb**