gitea_client/models/
create_repo_option.rs

1/*
2 * Gitea API
3 *
4 * This documentation describes the Gitea API.
5 *
6 * The version of the OpenAPI document: 1.22.1
7 * 
8 * Generated by: https://openapi-generator.tech
9 */
10
11use crate::models;
12use serde::{Deserialize, Serialize};
13
14/// CreateRepoOption : CreateRepoOption options when creating repository
15#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct CreateRepoOption {
17    /// Whether the repository should be auto-initialized?
18    #[serde(rename = "auto_init", skip_serializing_if = "Option::is_none")]
19    pub auto_init: Option<bool>,
20    /// DefaultBranch of the repository (used when initializes and in template)
21    #[serde(rename = "default_branch", skip_serializing_if = "Option::is_none")]
22    pub default_branch: Option<String>,
23    /// Description of the repository to create
24    #[serde(rename = "description", skip_serializing_if = "Option::is_none")]
25    pub description: Option<String>,
26    /// Gitignores to use
27    #[serde(rename = "gitignores", skip_serializing_if = "Option::is_none")]
28    pub gitignores: Option<String>,
29    /// Label-Set to use
30    #[serde(rename = "issue_labels", skip_serializing_if = "Option::is_none")]
31    pub issue_labels: Option<String>,
32    /// License to use
33    #[serde(rename = "license", skip_serializing_if = "Option::is_none")]
34    pub license: Option<String>,
35    /// Name of the repository to create
36    #[serde(rename = "name")]
37    pub name: String,
38    /// ObjectFormatName of the underlying git repository
39    #[serde(rename = "object_format_name", skip_serializing_if = "Option::is_none")]
40    pub object_format_name: Option<ObjectFormatName>,
41    /// Whether the repository is private
42    #[serde(rename = "private", skip_serializing_if = "Option::is_none")]
43    pub private: Option<bool>,
44    /// Readme of the repository to create
45    #[serde(rename = "readme", skip_serializing_if = "Option::is_none")]
46    pub readme: Option<String>,
47    /// Whether the repository is template
48    #[serde(rename = "template", skip_serializing_if = "Option::is_none")]
49    pub template: Option<bool>,
50    /// TrustModel of the repository
51    #[serde(rename = "trust_model", skip_serializing_if = "Option::is_none")]
52    pub trust_model: Option<TrustModel>,
53}
54
55impl CreateRepoOption {
56    /// CreateRepoOption options when creating repository
57    pub fn new(name: String) -> CreateRepoOption {
58        CreateRepoOption {
59            auto_init: None,
60            default_branch: None,
61            description: None,
62            gitignores: None,
63            issue_labels: None,
64            license: None,
65            name,
66            object_format_name: None,
67            private: None,
68            readme: None,
69            template: None,
70            trust_model: None,
71        }
72    }
73}
74/// ObjectFormatName of the underlying git repository
75#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
76pub enum ObjectFormatName {
77    #[serde(rename = "sha1")]
78    Sha1,
79    #[serde(rename = "sha256")]
80    Sha256,
81}
82
83impl Default for ObjectFormatName {
84    fn default() -> ObjectFormatName {
85        Self::Sha1
86    }
87}
88/// TrustModel of the repository
89#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
90pub enum TrustModel {
91    #[serde(rename = "default")]
92    Default,
93    #[serde(rename = "collaborator")]
94    Collaborator,
95    #[serde(rename = "committer")]
96    Committer,
97    #[serde(rename = "collaboratorcommitter")]
98    Collaboratorcommitter,
99}
100
101impl Default for TrustModel {
102    fn default() -> TrustModel {
103        Self::Default
104    }
105}
106