1.0.0 • Published 2 years ago
sf-lambda-helpers v1.0.0
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' });
1.0.0
2 years ago