auctionly-clientutilities v1.0.56
🛠️ Auctionly Client Utilities
This library contains client utilities that I'm tired of copy-pasting in all of our auctionly projects.
🗒️ GetSsmParameter
GetSsmParameter is a class that assists with retrieving SSM parameters. Simply provide guestCredentials and the parameter's name, and the client will attempt to retrieve its value.
For example, to retrieve the dev environment's AuctionApiId parameter:
import { PublicAuthClient } from "auctionly-auth";
import { GetSsmParameter } from "auctionly-clientutilities";
//Get Guest Credentials
const authClient = new PublicAuthClient();
const guestCredentials = await authClient.getGuestCredentials();
//Initialize GetSsmParameter
const SsmHelper = new GetSsmParameter(guestCredentials);
//Retrieve parameter
await SsmHelper.Get(`/public/dev/AuctionApiId`);
🔧 Install
npm i auctionly-clientutilities
☁️ Publish
First, make sure you're logged into the auctionly npm account locally, npm whoami
. If you're not on the 'auctionly' account, you'll need to log in to it with npm login
.
npm run publishTypescript
🗝️ Auctionly Credentials
Returns an AWS.Credentials object from one of two sources:
Env Config (Preferred)
AUCTIONLY_AWS_ACCESS_KEY_ID=SomeValue AUCTIONLY_AWS_SECRET_ACCESS_KEY=SomeSecretValue
Shared 'auctionly' credentials profile (Used primarily for local dev)
https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html
~/.aws/credentials
[auctionly] aws_access_key_id=someValue aws_secret_access_key=someOtherValue
Default hard-coded credentials
If no other credentials have been found, the default guest credentials will be used. This will result in greatly limited permissions.
💼 Lambda Client
LambdaClient is a wrapper for the AWS.Lambda class. By default, it uses the AuctionlyCredentials for lambda requests, but the constructor allows the user to provide their own AWS.Credentials object. It wall automatically convert lambda request payloads to PascalCase and return the lambda's reponse in cameCase. To use:
const stage = "dev";
const lambdaClient = new LambdaClient(stage);
var result = await lambdaClient.Invoke("SomeService", "SomeFunction", {
someKey: someValue,
});
📩 GetSsmParameter
getSsmParameter is a simple function that wraps the AWS.SSM class. Given an ssm parameter name it returns the value. It defaults to using the AuctionlyCredentials, but the AWS.Credentials can be overridden. For example:
const result = await getSsmParameter(`/${stage}/user-pool-id`);
console.log(result); // "us-east-1_xxxxxxxxx"
🗒️ JsonExtensions
JsonExtensions holds utilities for converting json with special casing. For example:
const pascalJson = `{SomeParameter: "SomeValue"}`;
const camelObject = new JsonExtensions().parseToCamelCase(pascalJson);
console.log(camelObject); // { someParameter: "SomeValue" }
const camelObject = { someParameter: "SomeValue" };
const pascalJson = new JsonExtensions().stringifyToPascalCase(camelObject);
console.log(pascalJson); // "{ SomeParameter: "SomeValue" }"
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago