useormdb_proto::FilterExpr;// Active users over 18letfilter=FilterExpr::and(vec![FilterExpr::eq("status",Value::String("active".into())),FilterExpr::gt("age",Value::Int32(18)),]);letquery=GraphQuery::new("User").with_filter(filter);
// Active or pending usersletfilter=FilterExpr::or(vec![FilterExpr::eq("status",Value::String("active".into())),FilterExpr::eq("status",Value::String("pending".into())),]);
// Users with email from example.comletfilter=FilterExpr::like("email","%@example.com");// Case-insensitive name searchletfilter=FilterExpr::ilike("name","%alice%");
// Users with email from example.comconstresult=awaitclient.query("User",{filter:{field:"email",op:"like",value:"%@example.com"},});// Case-insensitive name searchconstresult=awaitclient.query("User",{filter:{field:"name",op:"ilike",value:"%alice%"},});
// Users with specific IDsletfilter=FilterExpr::in_values("id",vec![Value::Uuid(id1),Value::Uuid(id2),Value::Uuid(id3),]);// Users with specific statusesletfilter=FilterExpr::in_values("status",vec![Value::String("active".into()),Value::String("pending".into()),]);
// Users with specific IDsconstresult=awaitclient.query("User",{filter:{field:"id",op:"in",value:[id1,id2,id3]},});// Users with specific statusesconstresult=awaitclient.query("User",{filter:{field:"status",op:"in",value:["active","pending"]},});
// Users without a profile pictureletfilter=FilterExpr::is_null("avatar_url");// Users with a profile pictureletfilter=FilterExpr::is_not_null("avatar_url");
// Users without a profile pictureconstresult=awaitclient.query("User",{filter:{field:"avatar_url",op:"is_null"},});// Users with a profile pictureconstresult=awaitclient.query("User",{filter:{field:"avatar_url",op:"is_not_null"},});
// Users with only published postsletquery=GraphQuery::new("User").include(RelationInclude::new("posts").with_filter(FilterExpr::eq("published",Value::Bool(true))));