goga
goga copied to clipboard
A fully RESTful API from any existing PostgreSQL database written in Rust
goga 
A fully RESTful API from any existing PostgreSQL database written in Rust
Inspiration
This project is highly inspired on pREST. Then 4 years later, highly inspired from a conversation. Now it’s out of the grave
TODO
-
HTTP GET
- [X] Get all DATABASES
- [X] Get all SCHEMAS
- [X] Get all TABLES
- [X] SELECT
/db/sch/tbl?_select=column
- [X] select with all columns
*
- [X] select with specific column
_select=column1,column2
- [X] select with all columns
- [ ] WHERE
/db/sch/tbl?column=value
- [X] filter with operators
column=$gt.100
- [ ] filter with json/jsonb columns
- [X] filter with operators
- [X] COUNT
/db/sch/tbl?_count=column
- [X] count with all columns
*
- [X] count with specific column
_count=column1,column2
- [X] count with all columns
- [X] ORDER BY
/db/sch/tbl?_order=column
- [X] order by with asc
_order=column
default - [X] order by with desc
_order=-column
- [X] order by with multiple orders
_order=-column1,column2
- [X] order by with asc
- [ ] GROUP BY
/db/sch/tbl?_select=column1,column2&_groupby=column1
- [X] group by chunk code with columns
- [ ] group by with group functions support
SUM, AVG, MAX, MIN
- [ ] group by with having clause
_groupby=column1->>having:sum:column_name:$gt:500