use crate::segment::json_path::JsonPath;
use crate::edge::requests::grouping::GroupRequest;
use crate::edge::requests::query::QueryRequest;
#[derive(Clone, Debug)]
pub struct GroupRequestBuilder {
query: QueryRequest,
group_by: JsonPath,
groups: usize,
group_size: usize,
}
impl GroupRequestBuilder {
pub fn new(query: QueryRequest, group_by: JsonPath, groups: usize, group_size: usize) -> Self {
let GroupRequest {
query,
group_by,
groups,
group_size,
} = GroupRequest::new(query, group_by, groups, group_size);
Self {
query,
group_by,
groups,
group_size,
}
}
pub fn build(self) -> GroupRequest {
let Self {
query,
group_by,
groups,
group_size,
} = self;
GroupRequest {
query,
group_by,
groups,
group_size,
}
}
}