pub enum GqlFilter {
Field {
column: String,
op: FilterOp,
value: Value,
},
Is {
column: String,
value: IsValue,
},
And(Vec<GqlFilter>),
Or(Vec<GqlFilter>),
Not(Box<GqlFilter>),
}Expand description
A filter expression for GraphQL queries.
Maps to pg_graphql’s filter argument structure.
§Examples
use supabase_client_graphql::GqlFilter;
// Simple equality: { "title": { "eq": "hello" } }
let filter = GqlFilter::eq("title", "hello");
// Compound: { "and": [{ "age": { "gte": 18 } }, { "status": { "eq": "active" } }] }
let filter = GqlFilter::and(vec![
GqlFilter::gte("age", 18),
GqlFilter::eq("status", "active"),
]);Variants§
Field
A field-level comparison: { column: { op: value } }.
Is
An is filter for null/boolean checks: { column: { is: NULL } }.
And(Vec<GqlFilter>)
Logical AND of multiple filters.
Or(Vec<GqlFilter>)
Logical OR of multiple filters.
Not(Box<GqlFilter>)
Logical NOT of a filter.
Implementations§
Source§impl GqlFilter
impl GqlFilter
Sourcepub fn eq(column: impl Into<String>, value: impl Into<Value>) -> Self
pub fn eq(column: impl Into<String>, value: impl Into<Value>) -> Self
Create an equality filter: { column: { eq: value } }.
Sourcepub fn neq(column: impl Into<String>, value: impl Into<Value>) -> Self
pub fn neq(column: impl Into<String>, value: impl Into<Value>) -> Self
Create a not-equal filter: { column: { neq: value } }.
Sourcepub fn gt(column: impl Into<String>, value: impl Into<Value>) -> Self
pub fn gt(column: impl Into<String>, value: impl Into<Value>) -> Self
Create a greater-than filter: { column: { gt: value } }.
Sourcepub fn gte(column: impl Into<String>, value: impl Into<Value>) -> Self
pub fn gte(column: impl Into<String>, value: impl Into<Value>) -> Self
Create a greater-than-or-equal filter: { column: { gte: value } }.
Sourcepub fn lt(column: impl Into<String>, value: impl Into<Value>) -> Self
pub fn lt(column: impl Into<String>, value: impl Into<Value>) -> Self
Create a less-than filter: { column: { lt: value } }.
Sourcepub fn lte(column: impl Into<String>, value: impl Into<Value>) -> Self
pub fn lte(column: impl Into<String>, value: impl Into<Value>) -> Self
Create a less-than-or-equal filter: { column: { lte: value } }.
Sourcepub fn in_(column: impl Into<String>, values: Vec<Value>) -> Self
pub fn in_(column: impl Into<String>, values: Vec<Value>) -> Self
Create an in filter: { column: { in: [values] } }.
Sourcepub fn is_null(column: impl Into<String>) -> Self
pub fn is_null(column: impl Into<String>) -> Self
Create an is null filter: { column: { is: NULL } }.
Sourcepub fn is_not_null(column: impl Into<String>) -> Self
pub fn is_not_null(column: impl Into<String>) -> Self
Create an is not null filter: { column: { is: NOT_NULL } }.
Sourcepub fn like(column: impl Into<String>, pattern: impl Into<String>) -> Self
pub fn like(column: impl Into<String>, pattern: impl Into<String>) -> Self
Create a like filter: { column: { like: pattern } }.
Sourcepub fn ilike(column: impl Into<String>, pattern: impl Into<String>) -> Self
pub fn ilike(column: impl Into<String>, pattern: impl Into<String>) -> Self
Create an ilike (case-insensitive like) filter.