@raytio/decrypt-helper

6.3.0 • Public • Published

Decrypt Helper

pipeline coverage npm version install size

Install

This SDK is designed to run on nodejs >=18.

npm install --save @raytio/decrypt-helper

# or if you use yarn:
yarn add @raytio/decrypt-helper

General Usage

To process a submission, you need to supply an applicationId, instanceId, and config.

const raytio = require("@raytio/decrypt-helper");

raytio
  .processSubmission({
    instanceId: "...",
    applicationId: "...",
    config: {
      // the URL to the raytio client (not the API)
      CLIENT_URL: "https://app.rayt.io",

      // if using raytio.saveToS3Bucket, specify the ID of the bucket here
      S3_BUCKET: "",

      // the credentials of an organization user
      RAYTIO_USERNAME: "...",
      RAYTIO_PASSWORD: "...",

      // used when generating a PDF report, if not supplied defaults to "en-NZ" and "Pacific/Auckland"
      // for available timezone options, see the map on https://momentjs.com/timezone
      DATE_FORMAT: "en-nz",
      TIMEZONE: "Pacific/Auckland",
      PDF_LANGUAGE: "en", // the value must be one of the languages listed here: https://gitlab.com/raytio/tools/decrypt-helper/-/tree/main/src/locales/translations
    },
    verbose: true,
  })
  .then(raytio.generatePDF()) // optional, will add the report to `files` in the output
  .then(({ json, csv, files }) => {
    // do something with `json`, `csv`, and `files`
  });

Usage in AWS Lambda

When running in AWS Lambda, you can use the function raytio.getAndValidateConfig() to extract the configuration from the serverless.yml file.

You can also pipe the response directly to raytio.saveToS3Bucket.

const raytio = require("@raytio/decrypt-helper");

raytio
  .processSubmission({
    instanceId: "...",
    applicationId: "...",
    config: raytio.getAndValidateConfig(),
    verbose: true,
  })
  .then(raytio.generatePDF())
  .then(raytio.saveToS3Bucket());

Help

For more infomation, please refer to the Raytio Documentation

Contributing

To test the PDF generation, run yarn dev-pdf

Regression tests

We use jest for unit tests, snapshot tests of the PDF, and integration tests for whole process. See the tests folder.

To run tests, use yarn test. To run and update snapshots, use yarn test -u. You will need to configure the environment variables in .env for integration tests.

If jest apears to be stuck running the end-to-end tests, run yarn jest --clearCache.

Manual testing

You can also test changes to this code using serverless-offline, see here for more info.

Readme

Keywords

none

Package Sidebar

Install

npm i @raytio/decrypt-helper

Weekly Downloads

179

Version

6.3.0

License

none

Unpacked Size

384 kB

Total Files

104

Last publish

Collaborators

  • cameron.beattie
  • borigthedwarf
  • kyle.h
  • kalda341