This package has been deprecated

Author message:

This was never tested and there are better solutions elsewhere

github-gist-db

1.1.2 • Public • Published

npm version

Purpose

Use GitHub Gists as a key-value store because it is free and has a well-documented API which we can (ab)use.

Examples

git clone git@github.com:SivanMehta/github-storage.git
cd github-storage
yarn install
node examples/server-setup.js

This will require that you create a file named examples/config.json that takes the following form. You can get an access token here.

{
  "token": "YOUR-ACCESS-TOKEN"
}

Usage

yarn install github-gist-db
var gs = require('github-storage')
var db = new gs({ token: 'YOUR-GITHUB-ACCESS-TOKEN' })

Now db is an object that will interact with Github to store your data. If you plan on using some other type of authorization, you will need to provide authorization exactly like you would the github package .

Method Specification Description
db.create(dbname) returns a Promise with success true/false Creates a datastore with the name dbname. This datastore will automatically look for your gists that match the title to the regex /.-snapshot/
db.destroy(dbname, callback) Callback with any leveldb errors Destroys a datastore with the name dbname, provided that it's already been created
db.push(dbname, callback) Callback with (err, gistID) Connects to GitHub and either creates a gist to store the current database, or pushes the current state of the database to the corresponding gist.
db.pull(dbname, callback) Callback with (success) Connects to GitHub and replaces the current datastore with whatever is stored in its corresponding gist.
db.put(params, callback) Callback with any leveldb errors Put a value in the datastore. params should have the values for dbname, key, and value
db.get(params, callback) Callback with any leveldb errors Get a value from the datastore. params should have the values for dbname, key

Readme

Keywords

Package Sidebar

Install

npm i github-gist-db

Weekly Downloads

2

Version

1.1.2

License

MIT

Last publish

Collaborators

  • sivanmehta