REST API for flat-file-db powered by koa2
This is a tiny module which extends the lightweight flat-file-db
key-value based to-go
datastorage.
It might be useful for small projects (e.g. hackathon).
# install the module globally
$ npm install -g rest-flat-file-db
# start the module with default parameters
$ rest-flat
# OR start it with custom parameters
$ PORT=3333 DB=/tmp/mydatabase rest-flat
$ npm install rest-flat-file-db --save
// index.js
const restflat = require('rest-flat-file-db');
const flatdb = require('flat-file-db');
const app = restflat(flatdb.sync('/tmp/mydatabase'));
// this is just a normal koa2 app and it is ready to launch.
app.listen();
Hint: You can pass your own koa
app as well if you want to make some setup on it before the rest-flat endpoints will be initialized. (e.g. Authentication)
This second parameter is optional. In default case the koa
instance will be created by the rest-flat-file-db
itself.
200 and a single object contains all key-value pairs of the database
200 (if the key
could be found, otherwise 404) and the value of :key
409 if key
already exists in the database otherwise 201 and the body of the post will be stored with the key
in the db (response.headers['location'] contains the url to the item)
200 (if the key
could be found, otherwise 404) and the updated item with its new content
200 (if the key
could be found, otherwise 404) and the merged (with Object.assign
call) item with its new content
200 (if the key
could be found, otherwise 404) and the deleted item from the db (it acts like a pop
call on a stack)
201 and the body of the post will be stored with a generated key in the db (response.headers['location'] contains the url to the item)