rest-flat-file-db
REST API for flat-file-db powered by koa2
About
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).
Usage
As standalone instance
# 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
As module
$ npm install rest-flat-file-db --save
// index.js const restflat = ;const flatdb = ; const app = ; // this is just a normal koa2 app and it is ready to launch. app;
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.
REST API
GET /
200 and a single object contains all key-value pairs of the database
GET /:key
200 (if the key
could be found, otherwise 404) and the value of :key
POST /: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)
PUT /:key
200 (if the key
could be found, otherwise 404) and the updated item with its new content
PATCH /:key
200 (if the key
could be found, otherwise 404) and the merged (with Object.assign
call) item with its new content
DELETE /:key
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)
POST /
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)