1.0.0 • Published 2 years ago

sf-lambda-helpers v1.0.0

Weekly downloads
-
License
ISC
Repository
github
Last release
2 years ago

SF Lambda Helpers

SF Lambda helpers are a collection of functions used accross multiple lambdas.

  • Since Lambdas do not have built in caching this package provides wrapped methods that are reusable across multiple lambdas.

Adding to your package

 npm install sf-lambda-helpers

Functions

chunk

chunk method takes an array and returns a chunked version of that array

const {chunk} = require('sf-lambda-helpers');

const chunkedArray = chunk([1,2,3,4], 2);

//output will be [[1,2],[3,4]]

getSFConnection

getSFConnection method takes a username and password and returns a salesforce connection using JSForce, meanwhile it will handle your active sessions, so that when a lambda that is constantly firing every second does not lock the user out.

Uses environment variables

STORAGE_DYNAMO_TABLE - to determine dynamoDB table, required to be in same account as the lambda

SALESFORCE_VERSION - salesforce version, includes like '47.0'

const { getSFConnection } = require('sf-lambda-helpers');

const connectionInfo = {
  username: "ssm-username",
  password: "ssm-password",
  loginUrl: "https://test.salesforce.com",
  clientId: 'clientId', //optional
  clientSecret: 'clientSecret' //optional
};

//getSFConnection(connectionInfo, decrypt?); decryption is a boolean that access ssm parameters or already decrypted fields
const conn = await getSFConnection(connectionInfo, true);

// output will be a valid jsforce connection

getSSMDecryptedParameter

getSSMDecryptedParameter method takes a ssm parameter and returns the decrypted value that belongs to the ssm parameter.

const {getSSMDecryptedParameter} = require('sf-lambda-helpers');

const value = await getSSMDecryptedParameter('parameterName');

// output will be the value of the decrypted parameter

getSSMDecryptedParameters

getSSMDecryptedParameters method takes a ssm parameter and returns the decrypted value that belongs to the ssm parameter.

const {getSSMDecryptedParameters} = require('sf-lambda-helpers');

const value = await getSSMDecryptedParameters(['parameterNameOne','parameterNameOne']);

// output will be a map of the decrypted parameters
// value.get('parameterNameOne')

logger

SF formatted Winston Logger

{
  error,
  warn,
  info,
  debug
}
const {logger} = require('sf-lambda-helpers');

logger.log('error', 'hello', { message: 'world' });
logger.info('hello', { message: 'world' });