gitea_client/models/
create_org_option.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct CreateOrgOption {
17 #[serde(rename = "description", skip_serializing_if = "Option::is_none")]
18 pub description: Option<String>,
19 #[serde(rename = "email", skip_serializing_if = "Option::is_none")]
20 pub email: Option<String>,
21 #[serde(rename = "full_name", skip_serializing_if = "Option::is_none")]
22 pub full_name: Option<String>,
23 #[serde(rename = "location", skip_serializing_if = "Option::is_none")]
24 pub location: Option<String>,
25 #[serde(rename = "repo_admin_change_team_access", skip_serializing_if = "Option::is_none")]
26 pub repo_admin_change_team_access: Option<bool>,
27 #[serde(rename = "username")]
28 pub username: String,
29 #[serde(rename = "visibility", skip_serializing_if = "Option::is_none")]
31 pub visibility: Option<Visibility>,
32 #[serde(rename = "website", skip_serializing_if = "Option::is_none")]
33 pub website: Option<String>,
34}
35
36impl CreateOrgOption {
37 pub fn new(username: String) -> CreateOrgOption {
39 CreateOrgOption {
40 description: None,
41 email: None,
42 full_name: None,
43 location: None,
44 repo_admin_change_team_access: None,
45 username,
46 visibility: None,
47 website: None,
48 }
49 }
50}
51#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
53pub enum Visibility {
54 #[serde(rename = "public")]
55 Public,
56 #[serde(rename = "limited")]
57 Limited,
58 #[serde(rename = "private")]
59 Private,
60}
61
62impl Default for Visibility {
63 fn default() -> Visibility {
64 Self::Public
65 }
66}
67