digger-rest
REST API server for digger-level
install
Docker container:
$ docker pull binocarlos/digger-rest
Node CLI program:
$ npm install -g digger-rest
Node library:
$ npm install digger-rest
usage
Docker container:
$ docker run -d \ -v /tmp/diggerdata:/data/db \ -p 8080:80 \ binocarlos/digger-rest
Node CLI program:
$ digger-rest --port 8080 --file /tmp/diggerdata
Node library:
var level = var sub = var Router = var leveldb = var router = server = httpserver
routes
GET /version
get the app version
GET /item/:id
get an item by it's diggerid
results:
"name": "Red Apple" "_digger": "id": "mything" "inode": "item1" "class": "apple" "tag": "fruit" "diggerid": "0d43987f5d690e10d704583fe30bf75a" "path": "/mydb/shop/food/folder1" "created": 1469557183129 "color": "red" "_data": {}
POST /item/:id
add an item to a diggerid
const FIXEDID = '17dcd3b0ba3411e2b58d91a4d58f5088'const addData = name:'Folder' _digger: tag:'folder' inode:'addedcities' class:'addcity' id:'addcity'
results:
"name": "Folder" "_digger": "tag": "folder" "inode": "addedcities" "class": "addcity" "id": "addcity" "diggerid": "73d1fab78e5da0bc4c321582fd2d2c2d" "path": "/mydb/cities/726acf" "created": 1469557266443 "_data": {}
PUT /item/:id
update an item
const FIXEDID = '17dcd3b0ba3411e2b58d91a4d58f5088'var updatedata = size:120 color:'blue' _digger: id:"places2"
this does a deep merge of the data you send
results:
"_digger": "tag": "folder" "class": "hello" "id": "places2" "diggerid": "17dcd3b0ba3411e2b58d91a4d58f5088" "inode": "77e8b5" "path": "/mydb/cities" "created": 1469557371497 "size": 120 "color": "blue" "_data": {}
DELETE /item/:id
delete an item
const FIXEDID = '17dcd3b0ba3411e2b58d91a4d58f5088'
GET /path/:path
get an item at a path
POST /path/:path
add an item to a path
GET /select/:path?selector=
select items from a context
if the selector is blank it means select the item at the path
otherwise it means run the selector with the path as the context
GET /keys
get all the keys in the database