1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
/// Response struct returning an \[Object\] on success and \[ValidationResult\] if invalid fields were provided
#[derive(Serialize, Deserialize)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Response {
    /// struct with field -> error pairs to provide feedback about invalid fields
    #[prost(message, optional, tag = "1")]
    pub validation_result: ::core::option::Option<super::ValidationResult>,
    /// Object struct with id \[`String`\] in [`Uuid`](uuid::Uuid) format and \[`Data`\] struct with group data
    #[prost(message, optional, tag = "2")]
    pub object: ::core::option::Option<Object>,
}
/// Object struct with `id` and `data` field
///
/// * `id` \[`String`\] in [`Uuid`](uuid::Uuid) format
/// * `data` \[`Data`\] struct with group data
#[derive(Serialize, Deserialize)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Object {
    /// id UUID v4
    #[prost(string, tag = "1")]
    pub id: ::prost::alloc::string::String,
    /// data
    #[prost(message, optional, tag = "2")]
    pub data: ::core::option::Option<Data>,
}
/// UpdateObject struct with `id`, `data` and `mask` fields
///
/// * `id` \[`String`\] in [`Uuid`](uuid::Uuid) format
/// * `data` \[`Data`\] struct with group data which should be used for update
/// * `mask` \[`FieldMask`\] struct with group fields that should be updated
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UpdateObject {
    /// `id` \[`String`\] in [`Uuid`](uuid::Uuid) format
    #[prost(string, tag = "1")]
    pub id: ::prost::alloc::string::String,
    /// struct with group data which should be used for update
    #[prost(message, optional, tag = "2")]
    pub data: ::core::option::Option<Data>,
    /// struct with group fields that should be updated
    #[prost(message, optional, tag = "3")]
    pub mask: ::core::option::Option<::prost_types::FieldMask>,
}
/// Data struct with group data
#[derive(Serialize, Deserialize)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Data {
    /// the Group's name
    #[prost(string, tag = "1")]
    pub name: ::prost::alloc::string::String,
    /// the Group's type
    #[prost(enumeration = "GroupType", tag = "2")]
    pub group_type: i32,
    /// the Group's description
    #[prost(string, tag = "3")]
    pub description: ::prost::alloc::string::String,
    /// optional group parent UUID
    #[prost(string, optional, tag = "4")]
    pub parent_group_id: ::core::option::Option<::prost::alloc::string::String>,
}
/// Struct containing a `list` of group \[`Vec\<Object\>`\]
#[derive(Serialize, Deserialize)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct List {
    /// array/vector of group items
    #[prost(message, repeated, tag = "1")]
    pub list: ::prost::alloc::vec::Vec<Object>,
}
/// Struct used to link users to a group
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GroupUsers {
    /// `id` \[`String`\] in [`Uuid`](uuid::Uuid) format. Must be a valid group_id
    #[prost(string, tag = "1")]
    pub id: ::prost::alloc::string::String,
    /// user ids as \[`` Vec\<String\>``\] in [ ``Uuid\`](uuid::Uuid) format
    #[prost(message, optional, tag = "2")]
    pub other_id_list: ::core::option::Option<super::IdList>,
}
/// Struct used to link vehicles to a group
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GroupVehicles {
    /// `id` \[`String`\] in [`Uuid`](uuid::Uuid) format. Must be a valid group_id
    #[prost(string, tag = "1")]
    pub id: ::prost::alloc::string::String,
    /// vehicle ids as \[`` Vec\<String\>``\] in [ ``Uuid\`](uuid::Uuid) format
    #[prost(message, optional, tag = "2")]
    pub other_id_list: ::core::option::Option<super::IdList>,
}
/// Struct used to link vertiports to a group
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GroupVertiports {
    /// `id` \[`String`\] in [`Uuid`](uuid::Uuid) format. Must be a valid group_id
    #[prost(string, tag = "1")]
    pub id: ::prost::alloc::string::String,
    /// vertiport ids as \[`` Vec\<String\>``\] in [ ``Uuid\`](uuid::Uuid) format
    #[prost(message, optional, tag = "2")]
    pub other_id_list: ::core::option::Option<super::IdList>,
}
/// Struct used to link vertipads to a group
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GroupVertipads {
    /// `id` \[`String`\] in [`Uuid`](uuid::Uuid) format. Must be a valid group_id
    #[prost(string, tag = "1")]
    pub id: ::prost::alloc::string::String,
    /// vertipad ids as \[`` Vec\<String\>``\] in [ ``Uuid\`](uuid::Uuid) format
    #[prost(message, optional, tag = "2")]
    pub other_id_list: ::core::option::Option<super::IdList>,
}
/// Flight Status Enum
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum GroupType {
    /// Acl
    Acl = 0,
    /// Settings
    Settings = 1,
    /// Display
    Display = 2,
}
impl GroupType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            GroupType::Acl => "ACL",
            GroupType::Settings => "SETTINGS",
            GroupType::Display => "DISPLAY",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ACL" => Some(Self::Acl),
            "SETTINGS" => Some(Self::Settings),
            "DISPLAY" => Some(Self::Display),
            _ => None,
        }
    }
}