Skip to main content

jira_core/model/
version.rs

1use serde::{Deserialize, Serialize};
2
3#[derive(Debug, Clone, Serialize, Deserialize, Default)]
4#[serde(rename_all = "camelCase")]
5pub struct ProjectVersion {
6    #[serde(default)]
7    pub id: String,
8    pub name: String,
9    #[serde(default)]
10    pub description: Option<String>,
11    #[serde(default)]
12    pub archived: bool,
13    #[serde(default)]
14    pub released: bool,
15    #[serde(default)]
16    pub release_date: Option<String>,
17    #[serde(default)]
18    pub start_date: Option<String>,
19}
20
21#[derive(Debug, Clone, Serialize, Deserialize, Default)]
22#[serde(rename_all = "camelCase")]
23pub struct UpdateProjectVersionRequest {
24    #[serde(skip_serializing_if = "Option::is_none")]
25    pub name: Option<String>,
26    #[serde(skip_serializing_if = "Option::is_none")]
27    pub description: Option<String>,
28    #[serde(skip_serializing_if = "Option::is_none")]
29    pub archived: Option<bool>,
30    #[serde(skip_serializing_if = "Option::is_none")]
31    pub released: Option<bool>,
32    #[serde(skip_serializing_if = "Option::is_none")]
33    pub release_date: Option<String>,
34    #[serde(skip_serializing_if = "Option::is_none")]
35    pub start_date: Option<String>,
36}
37
38#[derive(Debug, Clone, Serialize, Deserialize, Default)]
39#[serde(rename_all = "camelCase")]
40pub struct CreateProjectVersionRequest {
41    pub name: String,
42    pub project: String,
43    #[serde(skip_serializing_if = "Option::is_none")]
44    pub description: Option<String>,
45    #[serde(default)]
46    pub archived: bool,
47    #[serde(default)]
48    pub released: bool,
49    #[serde(skip_serializing_if = "Option::is_none")]
50    pub release_date: Option<String>,
51    #[serde(skip_serializing_if = "Option::is_none")]
52    pub start_date: Option<String>,
53}