New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

node-socrata

Package Overview
Dependencies
Maintainers
1
Versions
19
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

node-socrata

A node.js implementation for the Socrata Open Data API (SODA)

  • 0.0.50
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
1
Created
Source

##node-socrata## A Node.js interface to access the Socrata Open Data API (SODA)

###*Note: Work in Progress###

####Install####

$ npm install node-socrata

###Examples###

####'GET' Requests####

Request All Data: default limit: 1000 records

Using a default 'GET' request with no query parameter returns all records and fields in the destination data resource table.

var Socrata = require('node-socrata');

var config = {
  // find a hostDomain from the listSource method
  hostDomain: 'https://controllerdata.lacity.org',
  // An accessible API table from the host domain
  resource: 'revenue',
  // Create account and register app https://opendata.socrata.com
  XAppToken: process.env.SOCRATA_APP_TOKEN || 'registered-app-token'
};

var soda = new Socrata(config);

soda.get(function(err, response, data) {
  // response = json object returning headers, status, path, method
  // data  = json object of table records
});

__Query Data with Socrata's 'SoQL' __

Use a query parameter object to filter/query the destination resource table.

ParametersDescriptionDefault
$selectThe set of columns to be returnedAll columns
$whereFilters the rows to be returnedNo filter
$orderSpecifies the order of resultsUnorder
$groupColumn to group results on, similar to SQL GroupingNo grouping
$limitMaximum number of results to return1000 (and a maximum of 1000)
$offsetOffset count into the results to start at, used for pagingStarts at 0
$qPerforms a full text search for a valueNo search
// Create query parameter object:
// Return ten records & only fund_name and fiscal_year

/** Query Parameters initial "$" is optional **/
var params = {
  $select: ['fund_name', 'fiscal_year'],
  $limit: 10
}

soda.get(params, function(err, response, data) {
  // data... use it.
});

####'POST' Requests####

To post data to your authorized Socrata tables use the .post method which takes two arguments: data (json) and a callback function which returns the response.

To use the post method, you will have to setup your Socrata username and password in the initial config to execute a successful post.

//  Setup and configure the Socrata table to execute a 'POST' request
var Socrata = require('node-socrata');

var config = {
  hostDomain: 'https://opendata.socrata.com', // The host domain for the table.
  resource: 'my-table', // The table where data will be posted.
  username: process.env.SOCRATA_USERNAME || 'username',
  password: process.env.SOCRATA_PASSWORD || 'password',
  XAppToken: process.env.SOCRATA_APP_TOKEN || 'registered-app-token'
};

// **Note: Make sure to follow the table's existing schema;
var data = {
  foo: 'bar'
};

var soda = new Socrata(config);

// Post that data
soda.post(data, function(err, response, record) {
  // handle error, response, and record
});

With a successful post, the callback's record argument will return the number of records created, deleted, and updated. With the post method, records will only be created.

Output generated from the record

{ 'By RowIdentifier': 0,
  'Rows Updated': 0,
  'Rows Deleted': 0,
  'Rows Created': 1,
  Errors: 0,
  'By SID': 0
}

####TODO####

  • Add 'DELETE' method
  • Add 'PUT' method
  • Add supported data types

####About#### by Andrew Burnes - apburnes@gmail.com

Keywords

FAQs

Package last updated on 12 May 2015

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc