pub mod builder;
pub mod impls;
pub mod render;
use vantage_expressions::Order;
use crate::graphql::condition::{FilterDialect, GraphqlCondition};
#[derive(Clone, Debug)]
pub struct GraphqlSelect {
pub root_field: Option<String>,
pub operation_name: Option<String>,
pub fields: Vec<String>,
pub sub_selections: Vec<(String, GraphqlSelect)>,
pub conditions: Vec<GraphqlCondition>,
pub sort: Vec<(String, Order)>,
pub group_by: Vec<String>,
pub limit: Option<i64>,
pub skip: Option<i64>,
pub distinct: bool,
pub dialect: FilterDialect,
pub filter_arg_name: Option<String>,
}
impl GraphqlSelect {
pub fn new() -> Self {
Self::default()
}
}
impl Default for GraphqlSelect {
fn default() -> Self {
Self {
root_field: None,
operation_name: None,
fields: Vec::new(),
sub_selections: Vec::new(),
conditions: Vec::new(),
sort: Vec::new(),
group_by: Vec::new(),
limit: None,
skip: None,
distinct: false,
dialect: FilterDialect::Generic,
filter_arg_name: None,
}
}
}