use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct GetSchedulingResponse {
#[serde(rename = "dependencies")]
pub dependencies: Dependencies,
#[serde(rename = "endDate")]
pub end_date: Box<models::GetDateFieldResponse>,
#[serde(rename = "estimation")]
pub estimation: Estimation,
#[serde(rename = "inferredDates")]
pub inferred_dates: InferredDates,
#[serde(rename = "startDate")]
pub start_date: Box<models::GetDateFieldResponse>,
}
impl GetSchedulingResponse {
pub fn new(dependencies: Dependencies, end_date: models::GetDateFieldResponse, estimation: Estimation, inferred_dates: InferredDates, start_date: models::GetDateFieldResponse) -> GetSchedulingResponse {
GetSchedulingResponse {
dependencies,
end_date: Box::new(end_date),
estimation,
inferred_dates,
start_date: Box::new(start_date),
}
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Dependencies {
#[serde(rename = "Sequential")]
Sequential,
#[serde(rename = "Concurrent")]
Concurrent,
}
impl Default for Dependencies {
fn default() -> Dependencies {
Self::Sequential
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Estimation {
#[serde(rename = "StoryPoints")]
StoryPoints,
#[serde(rename = "Days")]
Days,
#[serde(rename = "Hours")]
Hours,
}
impl Default for Estimation {
fn default() -> Estimation {
Self::StoryPoints
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum InferredDates {
#[serde(rename = "None")]
None,
#[serde(rename = "SprintDates")]
SprintDates,
#[serde(rename = "ReleaseDates")]
ReleaseDates,
}
impl Default for InferredDates {
fn default() -> InferredDates {
Self::None
}
}