use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct JqlQueryClause {
#[serde(rename = "clauses")]
pub clauses: Vec<models::JqlQueryClause>,
#[serde(rename = "operator")]
pub operator: Operator,
#[serde(rename = "field")]
pub field: Box<models::JqlQueryField>,
#[serde(rename = "operand")]
pub operand: Box<models::JqlQueryClauseOperand>,
#[serde(rename = "predicates")]
pub predicates: Vec<models::JqlQueryClauseTimePredicate>,
}
impl JqlQueryClause {
pub fn new(clauses: Vec<models::JqlQueryClause>, operator: Operator, field: models::JqlQueryField, operand: models::JqlQueryClauseOperand, predicates: Vec<models::JqlQueryClauseTimePredicate>) -> JqlQueryClause {
JqlQueryClause {
clauses,
operator,
field: Box::new(field),
operand: Box::new(operand),
predicates,
}
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Operator {
#[serde(rename = "changed")]
Changed,
}
impl Default for Operator {
fn default() -> Operator {
Self::Changed
}
}