@gatekeeper_technology/report-utils
TypeScript icon, indicating that this package has built-in type declarations

1.3.1 • Public • Published

Gatekeeper's report utils

Gatekeeper's pdf/email Utils - shared in NPM

Set-up

  1. Create a .npmrc file containing: //registry.npmjs.org/:_authToken=<publish-npm-token>. You can find the publish npm-token on onePassword.

Updating

  1. Put your code changes in index.js.
    • If you added a new function, write jest test cases for it.
  2. Update the version number in the package.json.
  3. Describe your changes in the README.md changelog.
  4. Test your code before publishing:
    • Navigate one directory back
    • Open the terminal.
    • Execute npm install @gatekeeper_technology/report-utils.
    • If any error fix them.
    • Navigate back into the report-utils directory
      • Make sure you have jest installed on your machine.
    • run npm test to test that all the functions are working correctly.
  5. Execute cd report-utils and npm publish in the terminal.
  6. Commit & Push your changes to GitHub.

Using this package in a JourneyApps CloudCode Task.

  • In your CloudCode, open the package.json file and make sure you have the following code:
     "dependencies": {
     	"@gatekeeper_technology/report-utils": "<current-version-number>"
     }
    
    , where <current-version-number> is the version number saved in this repo's package.json file.
  • In the JavaScript code add the following line at the top of the page: const utils = require("@gatekeeper_technology/report-utils");.
  • Create a .npmrc file (in the CC task) containing: //registry.npmjs.org/:_authToken=<read-only-npm-token>. You can find the read-only npm-token on 1Password.
  • You can check at the top of this repo's index.js file to see which functions we export. We should update the list of functionality soon.
  • Happy coding!

Functionality

This package has three parts

  • date_time_utils - Functions that format JavaScript datetime objects to a readable/printable format
  • email_utils - These functions ensure that the specified email addresses do not violate any of the SendGrid v3 requirements and implements whitelisting
  • photo_attachment_utils -

Changelog

[1.3.1]

Removed

  • Updated the rollbar-utils version

[1.2.1]

Removed

  • dist ignore file in .npmignore.

[1.2.0]

Added

  • Added postToJourneyBackend function
  • Added journeyApps npm packages as dependencies to assist with the reportUtil package.
  • Added sortArrayByField function
  • Added generateHTML function
  • Added formatText function
  • Added getImageContentForPDF function

Changed

  • Migrated to TypeScript
  • All date functions should now be able to accept Day variables.
  • .gitignore file now ignores compiled files.
  • isAttachment(s)Uploaded functions no longer reschedules. It now throws an error with the cause = attachments-uploading

[1.1.10]

Removed

  • Removed loadBase64 function in a race against time.

[1.1.9]

Added

  • Jest Test cases
  • formatText, sortArrayByField and generateHTML functions
  • .d.ts files.

[1.1.8]

Changed

  • Added more validation on general utils

Added

  • Unit Tests on General Utils.

Removed

  • console.error() on date Utils.

[1.1.7]

Changed

  • Fixed funky way of throwing errors
  • Added a new utils folder with small internal utils

[1.1.6]

Changed

  • When retrying a task, we don't need to specify the CloudCode task name as we can access it programmatically

[1.1.5]

Added

  • isSameDay: Checks if the given two dates falls on the same day (second date value defaults to now).
  • compareDates: Checks if the given two dates falls on the same date and time (return 0), date 1 is before date 2 (returns -1), otherwise returns 1 (second date value defaults to now).

Removed

  • isToday: Can be used via the isSameDay() function
  • isPastDate and isFutureDate: Can be user via the compareDates() function

Changed

  • Improved Test file (WIP)

[1.1.4]

Added

  • areEqualDates
  • areEqualDateTimes
  • isToday
  • getStartOfWeek
  • getEndOfWeek
  • getWeekNumber
  • isFutureDate
  • isPastDate

[1.1.3]

Fixed

  • A bug where you cannot import the report-utils package in the /mobile side of an App.

[1.1.2]

Changed

  • [TESTING] Moved the loadImageBase64 function to index.js to see if the required("fs") problem is fixed.

[1.1.1]

Changed

  • [TESTING] Moved the require("fs") out of the function.

[1.1.0]

Changed

  • Refactored the file structure to separate the concerns.
  • Replaced displayPhoto with journeyPhotoToBase64, it now has a more descriptive name
  • Replaced loadPhotoOrSignature with getPhotoOrSignatureData, it's now up to the developer to load the data into a data hash.
  • Replaced loadSignatureBase64 with encodeBase64ImagePNG, renamed function and changed the input parameter to the actual image data.

[1.00.07]

Added

  • index.js: Added the ability to specify in which environments to enable email whitelisting.

[1.00.06]

Changed

  • index.js: Emails are first trimmed and toLowerCase'd before checking if it is valid.

[1.00.05]

Changed

  • index.js: Changed the way loadAttachments function receives retry_count value.

[1.00.04]

Fixed

  • index.js: a Bug where the loadPhotoOrSignature function was out of date.

[1.00.03]

Changed

  • index.js: Emails check now convert all emails to lowercase before checking for duplicates.

[1.00.02]

Added

  • index.js: Added function displayTimeWithSeconds.

Changed

  • index.js: improved javadocs commenting .

[1.00.01]

Changed

  • Readme.md: explanation improved.
  • index.js: Added functions displayDateTime and displayTime.

[1.00.00]

Added

  • package.json: Added.
  • index.js: Added and populated with Gatekeeper's handlebarUtil functions.
  • .npmignore: Added.
  • .gitignore: Added.
  • README.md: Added with description, set-up and change-log.

Package Sidebar

Install

npm i @gatekeeper_technology/report-utils

Weekly Downloads

2,115

Version

1.3.1

License

MIT

Unpacked Size

59.5 kB

Total Files

18

Last publish

Collaborators

  • gatekeeper_tech