https://github.com/unlight/odata-query-sql
Converts odata query to sql query.
https://github.com/unlight/odata-query-sql
Last synced: 8 months ago
JSON representation
Converts odata query to sql query.
- Host: GitHub
- URL: https://github.com/unlight/odata-query-sql
- Owner: unlight
- Created: 2016-07-30T16:17:39.000Z (almost 10 years ago)
- Default Branch: master
- Last Pushed: 2017-04-02T16:29:14.000Z (about 9 years ago)
- Last Synced: 2024-12-27T01:25:44.691Z (over 1 year ago)
- Language: JavaScript
- Homepage:
- Size: 10.7 KB
- Stars: 2
- Watchers: 2
- Forks: 2
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
odata-query-sql
===============
Converts odata query to sql query.
INSTALL
-------
```js
npm i -S odata-query-sql
```
USAGE
-----
```js
var odataQuerySql = require("odata-query-sql");
var result = odataQuerySql(oquery, options);
```
API
---
* `oquery` odata query object ($select, $filter, etc.)
* `options.dialect` type of sql driver (mysql, sqlite)
* `options.resource` requested resource name (table)
* `options.defaultLimit` limit should be set (min = 1, max = 500, default = 50)
EXAMPLES
--------
```js
var odataQuerySql = require("odata-query-sql");
var oquery = { $count: true, $filter: "name eq 'Ivan'", };
var options = { resource: "user", dialect: "mysql" });
var result = odataQuerySql(oquery, options);
// result.count: "select count(*) from user where name = 'Ivan'"
// result.value: "select * from user where name = 'Ivan' limit 50"
```
```js
var odataQuerySql = require("odata-query-sql");
var oquery = { $expand: "category", $filter: "title eq 'moby dick'", $select: "title"};
var options = { resource: "book", dialect: "mysql" }
var result = odataQuerySql(oquery, options);
// result.value: "select * from book where title = 'moby dick' limit 50"
// result.expand.category:
// "select * from category where id in (select category_id from book where title = 'moby dick')"
```
CHANGELOG
---------
* 0.0.1 (15 Aug 2016) first release