@first-lego-league/ms-correlation

A library to help support MS with domains

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
@first-lego-league/ms-correlation
1.0.33 years ago4 years agoMinified + gzip package size for @first-lego-league/ms-correlation in KB

Readme

npm David Dependency Status David Dev Dependency Status David Peer Dependencies Status Build status GitHub
FIRST LEGO Legaue Correlation
A library for supporting FIRST LEGO League TMS Module Standard correlation section.

Usage

There are two options to use this library: with middleware or with domain.

Usage with middleware

When having frameworks like express that support middlewares. You can use the middleware correlationMiddleware this middleware will also take care of authentication.

Usage with domain

When not using the middleware you should open a new domain in your code, and use the function correlateSession. For example:
const Domain = require('domain')

const { correlateSession } = require('@first-lego-league/ms-correlation')

someEventEmitter.on('someEvent', event => {
  const correlationId = getCorrelationId(event)
  const authToken = getAuthToken(event)

  Domain.create().run(() => {
    correlateSession(correlationId, authToken)

    handleEvent(event)
  })
})

Be aware that both argument of this function are optionals.

Retrieving correlation data

You can use the function getCorrelationId and getAuthenticationData to retrive data on the current session.

Contribution

To contribute to this repository, simply create a PR and set one of the Code Owners to be a reviewer. Please notice the linting and UT, because they block merge. Keep the package lightweight and easy to use. Thank you for contributing!