gitea_client/models/
migrate_repo_options.rs
1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct MigrateRepoOptions {
17 #[serde(rename = "auth_password", skip_serializing_if = "Option::is_none")]
18 pub auth_password: Option<String>,
19 #[serde(rename = "auth_token", skip_serializing_if = "Option::is_none")]
20 pub auth_token: Option<String>,
21 #[serde(rename = "auth_username", skip_serializing_if = "Option::is_none")]
22 pub auth_username: Option<String>,
23 #[serde(rename = "clone_addr")]
24 pub clone_addr: String,
25 #[serde(rename = "description", skip_serializing_if = "Option::is_none")]
26 pub description: Option<String>,
27 #[serde(rename = "issues", skip_serializing_if = "Option::is_none")]
28 pub issues: Option<bool>,
29 #[serde(rename = "labels", skip_serializing_if = "Option::is_none")]
30 pub labels: Option<bool>,
31 #[serde(rename = "lfs", skip_serializing_if = "Option::is_none")]
32 pub lfs: Option<bool>,
33 #[serde(rename = "lfs_endpoint", skip_serializing_if = "Option::is_none")]
34 pub lfs_endpoint: Option<String>,
35 #[serde(rename = "milestones", skip_serializing_if = "Option::is_none")]
36 pub milestones: Option<bool>,
37 #[serde(rename = "mirror", skip_serializing_if = "Option::is_none")]
38 pub mirror: Option<bool>,
39 #[serde(rename = "mirror_interval", skip_serializing_if = "Option::is_none")]
40 pub mirror_interval: Option<String>,
41 #[serde(rename = "private", skip_serializing_if = "Option::is_none")]
42 pub private: Option<bool>,
43 #[serde(rename = "pull_requests", skip_serializing_if = "Option::is_none")]
44 pub pull_requests: Option<bool>,
45 #[serde(rename = "releases", skip_serializing_if = "Option::is_none")]
46 pub releases: Option<bool>,
47 #[serde(rename = "repo_name")]
48 pub repo_name: String,
49 #[serde(rename = "repo_owner", skip_serializing_if = "Option::is_none")]
51 pub repo_owner: Option<String>,
52 #[serde(rename = "service", skip_serializing_if = "Option::is_none")]
53 pub service: Option<Service>,
54 #[serde(rename = "uid", skip_serializing_if = "Option::is_none")]
56 pub uid: Option<i64>,
57 #[serde(rename = "wiki", skip_serializing_if = "Option::is_none")]
58 pub wiki: Option<bool>,
59}
60
61impl MigrateRepoOptions {
62 pub fn new(clone_addr: String, repo_name: String) -> MigrateRepoOptions {
64 MigrateRepoOptions {
65 auth_password: None,
66 auth_token: None,
67 auth_username: None,
68 clone_addr,
69 description: None,
70 issues: None,
71 labels: None,
72 lfs: None,
73 lfs_endpoint: None,
74 milestones: None,
75 mirror: None,
76 mirror_interval: None,
77 private: None,
78 pull_requests: None,
79 releases: None,
80 repo_name,
81 repo_owner: None,
82 service: None,
83 uid: None,
84 wiki: None,
85 }
86 }
87}
88#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
90pub enum Service {
91 #[serde(rename = "git")]
92 Git,
93 #[serde(rename = "github")]
94 Github,
95 #[serde(rename = "gitea")]
96 Gitea,
97 #[serde(rename = "gitlab")]
98 Gitlab,
99 #[serde(rename = "gogs")]
100 Gogs,
101 #[serde(rename = "onedev")]
102 Onedev,
103 #[serde(rename = "gitbucket")]
104 Gitbucket,
105 #[serde(rename = "codebase")]
106 Codebase,
107}
108
109impl Default for Service {
110 fn default() -> Service {
111 Self::Git
112 }
113}
114