@mimik/event-helper
v2.2.1
Published
Helper for setting up and using a topic to send events
Readme
event-helper
Example
import eventHelper from '@mimik/event-helper';- event-helper
- ~eventHelper(config) ⇒ object
- async
event-helper~eventHelper(config) ⇒ object
Creates an event helper instance for sending events to an AWS SNS topic.
Kind: inner method of event-helper
Returns: object - An object with validate, sendEvent, and sendEvents methods.
Throws:
- Error Will throw if
config.topicis missing. - Error Will throw if
config.topic.setis not'on','mock', or'off'. - Error Will throw if
config.topicSettingsis missing whenconfig.topic.setis not'off'.
Requires: module:@mimik/sumologic-winston-logger
| Param | Type | Description |
| --- | --- | --- |
| config | object | Configuration object. |
| config.topic | object | Topic configuration. |
| config.topic.set | string | Topic mode: 'on', 'mock', or 'off'. |
| config.topicSettings | object | SNS topic settings. |
| config.topicSettings.region | string | AWS region. |
| config.topicSettings.name | string | SNS topic name. |
| [config.topicSettings.accessKeyId] | string | AWS access key ID. |
| [config.topicSettings.secretAccessKey] | string | AWS secret access key. |
| [config.topicSettings.isFifoTopic] | string | 'true' or 'false' string indicating whether the topic is a FIFO topic. |
| [config.topicSettings.contentBasedDeduplication] | string | 'true' or 'false' string indicating whether to enable content-based deduplication. |
event-helper~validate() ⇒ Promise
Topic initialization and validation.
Kind: inner method of event-helper
Category: async
Requires: module:@mimik/sumologic-winston-logger
Fulfil: Return undefined if config.topic is set to off.
Fulfil: object Return eventProcessor if config.topic is set to on or mock.
Reject: Error Will reject if topic creation fails.
event-helper~sendEvent(eventType, event, ids, body, correlationId, options) ⇒ Promise
Sending an event to a topic. In 'on' mode, validate() must resolve before
calling this method, otherwise it rejects.
Kind: inner method of event-helper
Category: async
Requires: module:@mimik/sumologic-winston-logger
Fulfil: Return undefined.
Reject: Error Will reject if SNS publish fails.
| Param | Type | Description |
| --- | --- | --- |
| eventType | string | Type of event to be sent. |
| event | string | Event to be sent. |
| ids | object | Object containing ids of the user. |
| body | * | Body to add to the event to be sent. Any JSON-serializable value is accepted. |
| correlationId | string | Correlation id associated with the event to be sent. |
| options | object | Options associated with the call. Use to apply metrics. Can use messageDeduplicationId, messageGroupId for fifo sns. |
event-helper~sendEvents(eventType, event, ids, body, correlationId, options) ⇒ Promise
Sending events to a topic in a batch request. Entries are split into chunks
of at most 10 (the SNS PublishBatch limit) and sent sequentially. In 'on'
mode, validate() must resolve before calling this method, otherwise it rejects.
Kind: inner method of event-helper
Category: async
Requires: module:@mimik/sumologic-winston-logger
Fulfil: Return undefined.
Reject: Error Will reject if SNS batch publish fails.
| Param | Type | Description |
| --- | --- | --- |
| eventType | string | Type of event to be sent. |
| event | string | Event to be sent. |
| ids | Array.<object> | Array of id objects containing ids of the users associated with the events. |
| body | * | Body to add to the event to be sent. Any JSON-serializable value is accepted. |
| correlationId | string | Correlation id associated with the events to be sent. |
| options | object | Options associated with the call. Use to apply metrics. Can use messageDeduplicationIds, messageGroupIds for fifo sns. |
