https://github.com/enginustun/query-face
Secure SQL query building library to get rid of static endpoints. Works best with Node.js query-face-node package.
https://github.com/enginustun/query-face
client front-end query-builder query-face query-language
Last synced: 9 months ago
JSON representation
Secure SQL query building library to get rid of static endpoints. Works best with Node.js query-face-node package.
- Host: GitHub
- URL: https://github.com/enginustun/query-face
- Owner: enginustun
- License: mit
- Created: 2019-04-27T15:04:40.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2023-01-03T20:26:35.000Z (over 3 years ago)
- Last Synced: 2025-09-29T03:10:04.766Z (9 months ago)
- Topics: client, front-end, query-builder, query-face, query-language
- Language: JavaScript
- Homepage:
- Size: 1.34 MB
- Stars: 7
- Watchers: 1
- Forks: 1
- Open Issues: 17
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# query-face · [](https://travis-ci.org/enginustun/query-face)  
ORM-like query language to get rid of static endpoints.
```
import qf from 'query-face';
qf()
.select('*')
.from('posts')
.where('user_id', 2)
.run();
```
output query object which will be sent to server you desire:
```json
[
{ "$op": "select", "$params": ["*"] },
{ "$op": "from", "$params": ["posts"] },
{ "$op": "where", "$params": ["user_id", "=", 2] }
]
```
## Documentation
- [x] [API documentation](https://enginustun.github.io/query-face/)
- [ ] Tutorials (not started)
## Contributing
Any contributions are welcome.
```
git clone git@github.com:enginustun/query-face.git
npm ci
```
Your development must include:
- Requirement codes
- Test codes
All tests must be passed.
```
npm run test
```
Finish your development and open a PR.
## Roadmap
- [x] Query Generation Core
chainable query structure is ready.
- Queries
- [x] select
- [x] insert
- [x] update
- [x] delete
- [x] from
-----------------------------------------------
- [x] where / andWhere / orWhere
- [x] whereNot / andWhereNot / orWhereNot
- [x] whereIn / andWhereIn / orWhereIn
- [x] whereNotIn / andWhereNotIn / orWhereNotIn
- [x] whereNull / orWhereNull
- [x] whereNotNull / orWhereNotNull
- [x] whereExists / orWhereExists
- [x] whereNotExists / orWhereNotExists
- [x] whereBetween / orWhereBetween
- [x] whereNotBetween / orWhereNotBetween
- [x] whereRaw
-----------------------------------------------
- [x] innerJoin
- [x] leftJoin
- [x] leftOuterJoin
- [x] rightJoin
- [x] rightOuterJoin
- [x] fullOuterJoin
- [x] crossJoin
-----------------------------------------------
- [x] on
- [x] onIn / andOnIn / orOnIn
- [x] onNotIn / andOnNotIn / orOnNotIn
- [x] onNull / andOnNull / orOnNull
- [x] onNotNull / andOnNotNull / orOnNotNull
- [x] onExists / andOnExists / orOnExists
- [x] onNotExists / andOnNotExists / orOnNotExists
- [x] onBetween / andOnBetween / orOnBetween
- [x] onNotBetween / andOnNotBetween / orOnNotBetween
-----------------------------------------------
- [x] having
- [x] havingIn
- [x] havingNotIn
- [x] havingNull
- [x] havingNotNull
- [x] havingExists
- [x] havingNotExists
- [x] havingBetween
- [x] havingNotBetween
-----------------------------------------------
- [x] distinct
- [x] groupBy
- [x] orderBy
- [x] offset
- [x] limit
- [x] returning
- [x] count
- [x] min
- [x] max
- [x] sum
- [x] avg
- [ ] truncate
- [x] pluck
- [x] first
- [x] columnInfo
- [x] union
- [x] unionAll
- [x] with
- [x] withRecursive
- [ ] withSchema
- [x] run
this is the function that sends query to server.