dat-rest-server

1.0.6 • Public • Published

dat-rest-server

A http server for dat. Parameters to routes are the same as the cli documentation.

npm install -g dat-rest-server
dat-rest-server --port=<port> --path=<path/to/dat>

GET /

Gets basic information about the state of the dat

{
  dat: true,
  version: "7.0.4",
  status: {
    head: "a2c77bedfb59f2237825614b57109ef35e097f5b1bf9320e9a52ef90768d566a",
    transaction: false,
    checkout: false,
    modified: "2015-09-01T22:53:17.775Z",
    datasets: 3,
    rows: 2686,
    files: 2,
    versions: 4,
    size: 1704743
  },
  datasets: [
    "organisms2",
    "organisms",
    "files"
  ]
}

POST /

Used for replication during clone:

dat clone mydatserver.com

GET /datasets

GET mydatserver.com/datasets

Returns

[
  "files",
  "sac-crime",
  "models"
]

GET /changes

Gets changes from dat

Optional params: live

GET mydatserver.com/changes?live=true

Returns

{"root":true,"change":1,"date":"2015-09-01T20:47:40.582Z","version":"3ffbf6b75e57a934024c47e747390732bb0b8210310b037bb4974b5529820ea9","message":"","links":[],"puts":0,"deletes":0,"files":0}
{"root":false,"change":2,"date":"2015-09-01T20:47:40.590Z","version":"dbf404f13567d5dd727534b80816b1b95211523611410024bafb53a3831f0f18","message":"","links":["3ffbf6b75e57a934024c47e747390732bb0b8210310b037bb4974b5529820ea9"],"puts":1,"deletes":0,"files":1}
{"root":false,"change":3,"date":"2015-09-01T20:47:45.274Z","version":"969be9bd7e4670633e1b8412f9617311c80b6e3aec6d6013de15b705292fcb28","message":"","links":["dbf404f13567d5dd727534b80816b1b95211523611410024bafb53a3831f0f18"],"puts":1342,"deletes":0,"files":0}
{"root":false,"change":4,"date":"2015-09-01T22:52:45.479Z","version":"2e8cd3a9578e9a5281768d8a7625adc2c7e99d60660fde5a8807205240d89601","message":"","links":["969be9bd7e4670633e1b8412f9617311c80b6e3aec6d6013de15b705292fcb28"],"puts":1,"deletes":0,"files":1}
{"root":false,"change":5,"date":"2015-09-01T22:53:17.775Z","version":"a2c77bedfb59f2237825614b57109ef35e097f5b1bf9320e9a52ef90768d566a","message":"complete->completed","links":["2e8cd3a9578e9a5281768d8a7625adc2c7e99d60660fde5a8807205240d89601"],"puts":1342,"deletes":0,"files":0}

GET /files

Get file list from dat.

GET mydatserver.com/files
{
  files: [
    "/Users/karissa/Dropbox/throwaway/bug.mov",
    "asdf",
    "black_crappie.json",
    "bug.mov",
    "fishing/black_crappie.json",
    "fishing/yellow_perch.json",
    "package.json"
  ]
}

GET /files/:name

Get file contents with the given name

GET mydatserver.com/files/package.json
{
  name: "Hunting-and-Fishing",
  publisher: "waldoj",
  description: "Hunting-and-Fishing"
}

GET /datasets/:name

Gets dat data out.

Optional params: format

GET mydatserver.com/datasets/<dataset>?format=csv

Returns

cdatetime,address,district,beat,grid,crimedescr,ucr_ncic_code,latitude,longitude
1/1/06 0:00,3108 OCCIDENTAL DR,3,3C        ,1115,10851(A)VC TAKE VEH W/O OWNER,2404,38.55042047,-121.3914158
1/1/06 0:00,2082 EXPEDITION WAY,5,5A        ,1512,459 PC  BURGLARY RESIDENCE,2204,38.47350069,-121.4901858
1/1/06 0:00,4 PALEN CT,2,2A        ,212,10851(A)VC TAKE VEH W/O OWNER,2404,38.65784584,-121.4621009
1/1/06 0:00,22 BECKFORD CT,6,6C        ,1443,476 PC PASS FICTICIOUS CHECK,2501,38.50677377,-121.4269508
1/1/06 0:00,3421 AUBURN BLVD,2,2A        ,508,459 PC  BURGLARY-UNSPECIFIED,2299,38.6374478,-121.3846125
1/1/06 0:00,5301 BONNIEMAE WAY,6,6B        ,1084,530.5 PC USE PERSONAL ID INFO,2604,38.52697863,-121.4513383
1/1/06 0:00,2217 16TH AVE,4,4A        ,957,459 PC  BURGLARY VEHICLE,2299,38.537173,-121.4875774
1/1/06 0:00,3547 P ST,3,3C        ,853,484 PC   PETTY THEFT/INSIDE,2308,38.56433456,-121.4618826
1/1/06 0:00,3421 AUBURN BLVD,2,2A        ,508,459 PC  BURGLARY BUSINESS,2203,38.6374478,-121.3846125
1/1/06 0:00,1326 HELMSMAN WAY,1,1B        ,444,1708 US   THEFT OF MAIL,2310,38.60960217,-121.4918375

POST /datasets/:dataset

Put data in dat.

Optional params: message, format, key.

POST mydatserver.com/datasets/<dataset>

Be sure to push data in the request with an appropriate Content-Type header:

'json': 'application/json',
'csv': 'text/csv',
'ndjson': 'application/x-ndjson',
'sse': 'text/event-stream'

Readme

Keywords

none

Package Sidebar

Install

npm i dat-rest-server

Weekly Downloads

1

Version

1.0.6

License

ISC

Last publish

Collaborators

  • karissa