use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct IssuesUpdateRequest {
#[serde(rename = "title", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub title: Option<Option<Box<models::IssuesUpdateRequestTitle>>>,
#[serde(rename = "body", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub body: Option<Option<String>>,
#[serde(rename = "assignee", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub assignee: Option<Option<String>>,
#[serde(rename = "state", skip_serializing_if = "Option::is_none")]
pub state: Option<State>,
#[serde(rename = "state_reason", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub state_reason: Option<Option<StateReason>>,
#[serde(rename = "milestone", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub milestone: Option<Option<Box<models::IssuesUpdateRequestMilestone>>>,
#[serde(rename = "labels", skip_serializing_if = "Option::is_none")]
pub labels: Option<Vec<models::IssuesCreateRequestLabelsInner>>,
#[serde(rename = "assignees", skip_serializing_if = "Option::is_none")]
pub assignees: Option<Vec<String>>,
}
impl IssuesUpdateRequest {
pub fn new() -> IssuesUpdateRequest {
IssuesUpdateRequest {
title: None,
body: None,
assignee: None,
state: None,
state_reason: None,
milestone: None,
labels: None,
assignees: None,
}
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum State {
#[serde(rename = "open")]
Open,
#[serde(rename = "closed")]
Closed,
}
impl Default for State {
fn default() -> State {
Self::Open
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum StateReason {
#[serde(rename = "completed")]
Completed,
#[serde(rename = "not_planned")]
NotPlanned,
#[serde(rename = "reopened")]
Reopened,
}
impl Default for StateReason {
fn default() -> StateReason {
Self::Completed
}
}