UNPKG

@condor-labs/ec-events-gateway

Version:
68 lines (41 loc) 1.74 kB
# 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**