openapi_github/models/
issues_create_milestone_request.rs

1/*
2 * GitHub's official OpenAPI spec + Octokit extension
3 *
4 * OpenAPI specs from https://github.com/github/rest-api-description with the 'x-octokit' extension required by the Octokit SDKs
5 *
6 * The version of the OpenAPI document: 16.6.0
7 * 
8 * Generated by: https://openapi-generator.tech
9 */
10
11use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct IssuesCreateMilestoneRequest {
16    /// The title of the milestone.
17    #[serde(rename = "title")]
18    pub title: String,
19    /// The state of the milestone. Either `open` or `closed`.
20    #[serde(rename = "state", skip_serializing_if = "Option::is_none")]
21    pub state: Option<State>,
22    /// A description of the milestone.
23    #[serde(rename = "description", skip_serializing_if = "Option::is_none")]
24    pub description: Option<String>,
25    /// The milestone due date. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`.
26    #[serde(rename = "due_on", skip_serializing_if = "Option::is_none")]
27    pub due_on: Option<String>,
28}
29
30impl IssuesCreateMilestoneRequest {
31    pub fn new(title: String) -> IssuesCreateMilestoneRequest {
32        IssuesCreateMilestoneRequest {
33            title,
34            state: None,
35            description: None,
36            due_on: None,
37        }
38    }
39}
40/// The state of the milestone. Either `open` or `closed`.
41#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
42pub enum State {
43    #[serde(rename = "open")]
44    Open,
45    #[serde(rename = "closed")]
46    Closed,
47}
48
49impl Default for State {
50    fn default() -> State {
51        Self::Open
52    }
53}
54