fastcomments_sdk/client/src/models/
aggregation_request.rs

1/*
2 * fastcomments
3 *
4 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
5 *
6 * The version of the OpenAPI document: 0.0.0
7 * 
8 * Generated by: https://openapi-generator.tech
9 */
10
11use crate::client::models;
12use serde::{Deserialize, Serialize};
13
14/// AggregationRequest : The aggregation request accepts a resource, optional grouping keys, an array of operations, and an optional sort
15#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct AggregationRequest {
17    #[serde(rename = "query", skip_serializing_if = "Option::is_none")]
18    pub query: Option<Vec<models::QueryPredicate>>,
19    #[serde(rename = "resourceName")]
20    pub resource_name: String,
21    #[serde(rename = "groupBy", skip_serializing_if = "Option::is_none")]
22    pub group_by: Option<Vec<String>>,
23    #[serde(rename = "operations")]
24    pub operations: Vec<models::AggregationOperation>,
25    #[serde(rename = "sort", skip_serializing_if = "Option::is_none")]
26    pub sort: Option<Box<models::AggregationRequestSort>>,
27}
28
29impl AggregationRequest {
30    /// The aggregation request accepts a resource, optional grouping keys, an array of operations, and an optional sort
31    pub fn new(resource_name: String, operations: Vec<models::AggregationOperation>) -> AggregationRequest {
32        AggregationRequest {
33            query: None,
34            resource_name,
35            group_by: None,
36            operations,
37            sort: None,
38        }
39    }
40}
41