2.0.4 • Published 6 years ago

classy-lambda-common v2.0.4

Weekly downloads
4
License
MIT
Repository
github
Last release
6 years ago

classy-lambda-common

Common configuration and tools for Classy Lambda modules.

installation

$ npm install --save classy-lambda-common

prerequisites

Minimally, you must have an environment.json and creds.example.json file in the root of your project. The JSON content provides a configuration based on which stage you are deployed to:

environment.json

{
  "dev": {
    "aws": {
      "region": "us-west-2"
    }
  },
  "staging": {
    "aws": {
      "region": "us-west-2"
    }
  },
  "production": {
    "aws": {
      "region": "us-east-1"
    }
  }
}

creds.example.json

{
  "SECRET": "SHHHH"
}

options

See prerequisites

supported toolset

Common.get(key): works for both static environment key/value pairs (i.e. environment.json), and also CredStash secrets. For static environment key/value pairs, you can specify nested keys in hierarchy via dot notation, i.e. Common.get('this.is.valid') returns "value" for:

{
  "dev": {
    "this": {
      "is": {
        "valid": "value"
      }
    }
  }
}

For CredStash, keys are generally all uppercase with snake case between words, i.e. SOME_SECRET.

Common.get('Logger'): Logging facility which requires 'log' configuration. See example below.

Common.get('PayClient'): Client which can be used for requests to Classy Pay. Requires 'pay' configuration.

Common.get('ApiClient'): Client which can be used for requests to Classy API. Requires 'api' configuration.

Common.get('Replacer'): Obfuscator for use with JSON.stringify replacer. Requires 'security' configuration.

usage

Bootstrap: Common.load(callback)

const Common = require('classy-lambda-common');
Common.load(function(error) {
  if (error) {
    console.error(error);
  } else {
    let logger = Common.get('Logger').create('my-logger');
    logger.info('Hello World');
  }
});

Get static config: Common.get(key)

let value = Common.get('some.key');
console.log(value);

Get CredStash secret: Common.get(key)

let value = Common.get('SOME_SECRET');
console.log(value);

Get Logger: See Bootstrap above

Get PayClient: Common.get(key)

let PayClient = Common.get('PayClient');

// PayClient.request(appId, method, resource, postBody, callback)
PayClient.request(0, 'GET', '/transaction/1', null, function(error, result) {
  if (error) {
    callback(error);
  } else {
    console.log(result);
  }
});

Get ApiClient: Common.get(key)

let ApiClient = Common.get('ApiClient');

// See classy-node for details
ApiClient.app().then(() => {
  ApiClient.organizations.retrieve(1, {
    token: 'app'
  }).then((result) => {
    console.log(result);
  });
});

Get Replacer: Common.get(key)

let Replacer = Common.get('Replacer').replacer;
console.log(JSON.stringify({
  cvv: '123'
}, replacer, 2));
2.0.4

6 years ago

2.0.3

6 years ago

2.0.2

6 years ago

2.0.1

6 years ago

2.0.0

6 years ago

1.0.30

6 years ago

1.0.29

6 years ago

1.0.28

6 years ago

1.0.27

7 years ago

1.0.26

7 years ago

1.0.25

7 years ago

1.0.24

7 years ago

1.0.23

7 years ago

1.0.22

7 years ago

1.0.21

7 years ago

1.0.20

7 years ago

1.0.19

7 years ago

1.0.18

7 years ago

1.0.17

7 years ago

1.0.16

7 years ago

1.0.14

7 years ago

1.0.13

7 years ago

1.0.12

7 years ago

1.0.11

7 years ago

1.0.9

7 years ago

1.0.8

7 years ago

1.0.7

7 years ago

1.0.6

7 years ago

1.0.5

7 years ago

1.0.4

7 years ago

1.0.3

7 years ago

1.0.2

7 years ago

1.0.1

7 years ago

1.0.0

7 years ago