Skip to main content

Crate supabase_client_graphql

Crate supabase_client_graphql 

Source
Expand description

Supabase GraphQL client for pg_graphql.

This crate provides a GraphQL client for querying Supabase’s auto-generated GraphQL API powered by the pg_graphql PostgreSQL extension. The endpoint is at POST /graphql/v1.

§Usage

use supabase_client_sdk::prelude::*;
use serde_json::json;

let client = SupabaseClient::new(config)?;
let graphql = client.graphql()?;

// Collection query with builder
let connection = graphql.collection("blogCollection")
    .select(&["id", "title", "createdAt"])
    .filter(GqlFilter::eq("status", json!("published")))
    .order_by("createdAt", OrderByDirection::DescNullsLast)
    .first(10)
    .execute::<BlogRow>().await?;

// Insert mutation
let result = graphql.insert_into("blogCollection")
    .objects(vec![json!({"title": "New Post"})])
    .returning(&["id", "title"])
    .execute::<BlogRow>().await?;

Re-exports§

pub use client::GraphqlClient;
pub use error::GraphqlApiError;
pub use error::GraphqlError;
pub use filter::FilterOp;
pub use filter::GqlFilter;
pub use filter::IsValue;
pub use mutation::MutationBuilder;
pub use mutation::MutationKind;
pub use order::OrderByDirection;
pub use query::QueryBuilder;
pub use types::*;

Modules§

client
error
filter
mutation
order
query
types

Traits§

SupabaseClientGraphqlExt
Extension trait to create a GraphqlClient from a SupabaseClient.