npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@jexo/ace-gdpr

v1.0.6

Published

GDPR compliance helper for atlas-connect-express applications

Downloads

11

Readme

@jexo/ace-gdpr

License: MIT

Get GDPR updates for your Atlas-Connect-Express application

This package will assist you in complying with Atlassian's GDPR requirements described here.

Installation

Using npm:

$ npm install --save @jexo/ace-gdpr

Pre-requisites

  • A postgres database.
  • atlas-connect-express' AddonSettings table
  • This package assumes you're following jira's recommendation for user data storage and persisting it in a single table.
  • The table must have a string column that stores the user account id, a string column that stores the client key for that user, and a date column with when that user's data was last updated.

Usage

ace-gdpr uses node-postgres to read user data from your database, and to create/update an internal table named ace_gdpr_settings. It assumes the following environment variables to be available with the database connection information:

PGUSER='database username'
PGPASSWORD='database user password'
PGHOST='database host'
PGPORT='databse port'
PGDATABASE='database name'

In your atlas-connect-express application

const getUpdates = require('@jexo/ace-gdpr').default;

// map your users table name and column names to the config object
const config = {
  databaseConfig: {
    users: {
      tableName: 'users',
      columns: {
        updatedAt: 'updated_at',
        userAccountId: 'user_account_id',
        clientKey: 'client_key'
      }
    }
  },
  forceExecution: false // * see note below
};

getUpdates(config)
  .then(({ updated, closed }) => {
    // use jira api to fetch fresh user data and update the user record. Remember to update the `updatedAt` column for every record
    updated.forEach(accountId => updateUserData(accountId));
    // get rid of this user's personal data wherever you're storing it
    closed.forEach(accountId => removePersistedUserData(accountId));
  })
  .catch((error) => {
    // handle error
  });

We recommended running getUpdates once a day under a scheduler. The plugin keeps track of when you last executed successfully in ace_gdpr_settings and will only run again one day before the next update cycle recommended by Jira. Set forceExecution to true if you want the plugin to ignore the last update and cycle settings in ace_gdpr_settings and run the whole thing when called.

To do

  • Create contributing documentation
  • Create examples using Kue and node-schedule

License

MIT