use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct LifecycleIteration {
#[serde(rename = "id")]
pub id: uuid::Uuid,
#[serde(rename = "content_type")]
pub content_type: models::ContentTypeEnum,
#[serde(rename = "object_id")]
pub object_id: String,
#[serde(rename = "object_verbose")]
pub object_verbose: String,
#[serde(rename = "object_admin_url")]
pub object_admin_url: String,
#[serde(rename = "state")]
pub state: models::LifecycleIterationStateEnum,
#[serde(rename = "opened_on")]
pub opened_on: String,
#[serde(rename = "grace_period_end")]
pub grace_period_end: String,
#[serde(rename = "next_review_date")]
pub next_review_date: String,
#[serde(rename = "reviews")]
pub reviews: Vec<models::Review>,
#[serde(rename = "user_can_review")]
pub user_can_review: bool,
#[serde(rename = "reviewer_groups")]
pub reviewer_groups: Vec<models::ReviewerGroup>,
#[serde(rename = "min_reviewers")]
pub min_reviewers: i32,
#[serde(rename = "reviewers")]
pub reviewers: Vec<models::ReviewerUser>,
}
impl LifecycleIteration {
pub fn new(
id: uuid::Uuid,
content_type: models::ContentTypeEnum,
object_id: String,
object_verbose: String,
object_admin_url: String,
state: models::LifecycleIterationStateEnum,
opened_on: String,
grace_period_end: String,
next_review_date: String,
reviews: Vec<models::Review>,
user_can_review: bool,
reviewer_groups: Vec<models::ReviewerGroup>,
min_reviewers: i32,
reviewers: Vec<models::ReviewerUser>,
) -> LifecycleIteration {
LifecycleIteration {
id,
content_type,
object_id,
object_verbose,
object_admin_url,
state,
opened_on,
grace_period_end,
next_review_date,
reviews,
user_can_review,
reviewer_groups,
min_reviewers,
reviewers,
}
}
}