2016-12-13 23:32:41 +08:00
|
|
|
SQL API for carto.com
|
2011-06-13 11:23:02 +08:00
|
|
|
========================
|
2012-06-02 04:19:02 +08:00
|
|
|
|
2015-03-01 00:06:39 +08:00
|
|
|
[![Build Status](https://travis-ci.org/CartoDB/CartoDB-SQL-API.png?branch=master)](https://travis-ci.org/CartoDB/CartoDB-SQL-API)
|
2013-10-01 00:02:48 +08:00
|
|
|
|
2014-09-24 16:32:54 +08:00
|
|
|
Provides a node.js based API for running SQL queries against CartoDB.
|
2011-06-13 11:23:02 +08:00
|
|
|
|
2012-06-02 04:19:02 +08:00
|
|
|
* Users are authenticated over OAuth or via an API KEY.
|
|
|
|
* Authenticated requests to this API should always be made over SSL.
|
2011-06-13 11:23:02 +08:00
|
|
|
|
2011-10-08 00:19:02 +08:00
|
|
|
|
2019-02-22 01:55:27 +08:00
|
|
|
## Requirements
|
|
|
|
|
|
|
|
* Node 10.x
|
|
|
|
* npm 6.x
|
|
|
|
* PostgreSQL >= 10.0
|
|
|
|
* PostGIS >= 2.4
|
|
|
|
* CARTO Postgres Extension >= 0.24.1
|
|
|
|
* Redis >= 4
|
2017-08-11 20:48:01 +08:00
|
|
|
* GDAL `1.11.0` (bin utils). See [installing GDAL](http://trac.osgeo.org/gdal/wiki/DownloadingGdalBinaries)
|
|
|
|
* zip commandline tool.
|
2019-02-22 19:11:30 +08:00
|
|
|
* C++11 (to build internal dependencies if needed)
|
2011-06-30 19:13:13 +08:00
|
|
|
|
2014-09-24 16:32:54 +08:00
|
|
|
|
2019-02-22 01:55:27 +08:00
|
|
|
## Install dependencies
|
2012-07-24 15:30:25 +08:00
|
|
|
|
2014-09-24 16:32:54 +08:00
|
|
|
```sh
|
2019-02-22 01:55:27 +08:00
|
|
|
$ npm install
|
2012-07-24 15:30:25 +08:00
|
|
|
```
|
|
|
|
|
2019-02-22 01:55:27 +08:00
|
|
|
## Usage
|
2014-09-24 16:32:54 +08:00
|
|
|
|
2012-03-14 02:32:01 +08:00
|
|
|
|
2012-07-24 01:57:38 +08:00
|
|
|
Create and edit config/environments/<environment>.js from .js.example files.
|
|
|
|
You may find the ./configure script useful to make an edited copy for you,
|
|
|
|
see ```./configure --help``` for a list of supported switches.
|
|
|
|
|
2012-03-14 02:32:01 +08:00
|
|
|
Make sure redis is running and knows about active cartodb user.
|
|
|
|
|
2012-07-24 17:30:42 +08:00
|
|
|
Make sure your PostgreSQL server is running, is accessible on
|
|
|
|
the host and port specified in the <environment> file, has
|
2013-11-06 00:49:10 +08:00
|
|
|
a 'publicuser' role (or whatever you set ``db_pubuser`` configuration
|
|
|
|
directive to) and trusts user authentication from localhost
|
2012-07-24 17:30:42 +08:00
|
|
|
connections.
|
|
|
|
|
2014-09-24 16:32:54 +08:00
|
|
|
```sh
|
2013-12-18 17:24:31 +08:00
|
|
|
node app.js <environment>
|
2012-03-14 02:32:01 +08:00
|
|
|
```
|
|
|
|
|
2014-09-24 16:32:54 +08:00
|
|
|
Supported <environment> values are development, test, production
|
2012-03-16 17:31:03 +08:00
|
|
|
|
2012-07-24 17:08:13 +08:00
|
|
|
See doc/API.md for API documentation.
|
|
|
|
For examples of use, see under test/.
|
2012-03-14 02:32:01 +08:00
|
|
|
|
2011-06-30 20:06:23 +08:00
|
|
|
|
2019-02-22 01:55:27 +08:00
|
|
|
## Tests
|
2012-07-24 16:30:57 +08:00
|
|
|
|
2014-09-24 16:32:54 +08:00
|
|
|
Run with:
|
2012-03-16 21:18:43 +08:00
|
|
|
|
2014-09-24 16:32:54 +08:00
|
|
|
```sh
|
2019-02-22 01:55:27 +08:00
|
|
|
$ npm test
|
2014-09-24 16:32:54 +08:00
|
|
|
```
|
2014-06-19 17:44:33 +08:00
|
|
|
|
2014-09-24 16:32:54 +08:00
|
|
|
If any issue arise see test/README.md
|
2014-06-19 17:44:33 +08:00
|
|
|
|
2014-09-24 16:32:54 +08:00
|
|
|
Note that the environment should be set to ensure the default
|
|
|
|
PostgreSQL user is superuser (PGUSER=postgres make check).
|
2015-09-08 22:40:12 +08:00
|
|
|
|
|
|
|
Contributing
|
|
|
|
---
|
|
|
|
|
|
|
|
See [CONTRIBUTING.md](CONTRIBUTING.md).
|