Skip to content

FirstLegoLeague/ms-correlation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

47 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

npm codecov Build status GitHub

David Dependency Status David Dev Dependency Status David Peer Dependencies Status

FIRST LEGO Legaue Correlation

A package for server correlation, working according to the FIRST LEGO League TMS Module Standard correlation section.

Logic

The package saves the correlation-id and authentication data using the domain feature of node.

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!

About

A domain manger for supporting MS (Module Standard)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •