@pryv/datastore
TypeScript icon, indicating that this package has built-in type declarations

1.0.0 • Public • Published

Pryv.io data store

Library and tools for accessing external data stores within Pryv.io.

⚠️ This is the first public release; the following are still likely to change:

  • Code examples
  • API documentation
  • (For contributors) Development environment

Quick start

To let Pryv.io access an external data store:

Create your data store implementation in Node.js based on the present library

  1. npm install --save @pryv/datastore
  2. Implement a data store in your package's main module; for example:
    const ds = require('@pryv/datastore');
    
    module.exports = ds.createDataStore({
      async init (params) {
        this.settings = params.settings;
    
        // initialization code goes here…
    
        // if implementing streams
        this.streams = ds.createUserStreams({
          // streams store implementation here…
        });
    
        // if implementing events
        this.events = ds.createUserEvents({
          // events store implementation here…
        });
    
        return this;
      },
    
      async deleteUser (userId) {
        // remove user from store…
      },
    
      async getUserStorageSize (userId) {
        // compute user storage bytes…
      }
    })

For the details, see the API documentation.

Install it on your Pryv.io core machines

  1. Deploy your module in your chosen location on each core machine
  2. Register it in platform configuration under key custom:dataStores; each data store definition has those properties:
    • id (string): The store's id – this is used in data so do not change
    • name (string): The store's name, for logging and messaging purposes
    • settings (object): Any settings to pass to your data store implementation

Contributing

Installation

Prerequisites: Node.js 16+, just

Run just to see the available commands (defined in justfile), e.g.

  • just install to install node modules
  • just doc to regenerate the API documentation

License

BSD-3-Clause

Readme

Keywords

none

Package Sidebar

Install

npm i @pryv/datastore

Homepage

pryv.com

Weekly Downloads

37

Version

1.0.0

License

BSD-3-Clause

Unpacked Size

202 kB

Total Files

46

Last publish

Collaborators

  • perki
  • kebetsi
  • sgoumaz