Skip to content

Latest commit

 

History

History
40 lines (29 loc) · 1.15 KB

README.MD

File metadata and controls

40 lines (29 loc) · 1.15 KB

postgrest-query

A type-safe query builder-esque experience for PostgREST

Install

cargo add postgrest-query

Usage

use postgrest_query::PostgrestClient;

const URL: &str = "https://org-postgrest-query-demo-inst.data-1.use1.tembo.io/restapi/v1";

#[derive(serde::Serialize, serde::Deserialize)]
struct User {
    id: i32,
    name: String,
    password: String,
}

#[tokio::main]
async fn main() -> Result<(), std::error::Error> {
    let db = PostgrestClient::new(URL);

    let user_query = db.from("users").find_many::<User>().exec().await;
}

TODO

  • Simple Rust -> PostgREST -> Postgres leveraging serde and resembling the Prisma query builder
  • Support the entire PostgREST API
  • Potentially let consumers provide their own handler (defaults to reqwest for now)
  • Compile time query checks? (similar to sqlx)
  • Explore potential ports of this to other languages (TypeScript, Python, Go, etc.)

Issues and PRs are welcome!