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
/// 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 vehicle 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 vehicle 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 vehicle data which should be used for update
/// * `mask` \[`FieldMask`\] struct with vehicle 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 vehicle data which should be used for update
    #[prost(message, optional, tag = "2")]
    pub data: ::core::option::Option<Data>,
    /// struct with vehicle fields that should be updated
    #[prost(message, optional, tag = "3")]
    pub mask: ::core::option::Option<::prost_types::FieldMask>,
}
/// Data struct with vehicle data
#[derive(Serialize, Deserialize)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Data {
    /// vehicle_model_id UUID v4, can be used to collect additional vehicle_model information
    #[prost(string, tag = "1")]
    pub vehicle_model_id: ::prost::alloc::string::String,
    /// the vehicle's unique serial_number given at the factory
    #[prost(string, tag = "2")]
    pub serial_number: ::prost::alloc::string::String,
    /// the vehicle's unique registration number provided by the government
    #[prost(string, tag = "3")]
    pub registration_number: ::prost::alloc::string::String,
    /// optional additional description of the vehicle
    #[prost(string, optional, tag = "4")]
    pub description: ::core::option::Option<::prost::alloc::string::String>,
    /// optional asset_group_id UUID v4, can be used to collect all assets from the same group
    #[prost(string, optional, tag = "5")]
    pub asset_group_id: ::core::option::Option<::prost::alloc::string::String>,
    /// optional RRULE data string to indicate the vehicle's available days and hours
    #[prost(string, optional, tag = "6")]
    pub schedule: ::core::option::Option<::prost::alloc::string::String>,
    /// optional id UUID v4 of the hangar (vertiport) this aircraft is assigned to
    #[prost(string, optional, tag = "7")]
    pub hangar_id: ::core::option::Option<::prost::alloc::string::String>,
    /// optional id UUID v4 of the hangar bay (vertipad) this aircraft is assigned to
    #[prost(string, optional, tag = "8")]
    pub hangar_bay_id: ::core::option::Option<::prost::alloc::string::String>,
    /// optional date of vehicle's last maintenance
    #[prost(message, optional, tag = "9")]
    pub last_maintenance: ::core::option::Option<::prost_wkt_types::Timestamp>,
    /// optional date  of vehicle's next planned maintenance
    #[prost(message, optional, tag = "10")]
    pub next_maintenance: ::core::option::Option<::prost_wkt_types::Timestamp>,
    /// timestamp of the date and time the vehicle has been created
    #[prost(message, optional, tag = "11")]
    pub created_at: ::core::option::Option<::prost_wkt_types::Timestamp>,
    /// timestamp of the last update action performed on the data
    #[prost(message, optional, tag = "12")]
    pub updated_at: ::core::option::Option<::prost_wkt_types::Timestamp>,
}
/// Struct containing a `list` of vehicle \[Vec\<Object\>\]
#[derive(Serialize, Deserialize)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct List {
    /// array/vector of vehicle items
    #[prost(message, repeated, tag = "1")]
    pub list: ::prost::alloc::vec::Vec<Object>,
}
/// Struct used to link groups to a vehicle
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct VehicleGroups {
    /// `id` \[`String`\] in [`Uuid`](uuid::Uuid) format. Must be a valid vehicle_id
    #[prost(string, tag = "1")]
    pub id: ::prost::alloc::string::String,
    /// group ids as \[`Vec\<String\>`\] in [`Uuid`](uuid::Uuid) format
    #[prost(message, optional, tag = "2")]
    pub other_id_list: ::core::option::Option<super::IdList>,
}
/// Vehicle Model Type Enum
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum VehicleModelType {
    /// VTOL Cargo
    VtolCargo = 0,
    /// VTOL Passenger
    VtolPassenger = 1,
}
impl VehicleModelType {
    /// 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 {
            VehicleModelType::VtolCargo => "VTOL_CARGO",
            VehicleModelType::VtolPassenger => "VTOL_PASSENGER",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "VTOL_CARGO" => Some(Self::VtolCargo),
            "VTOL_PASSENGER" => Some(Self::VtolPassenger),
            _ => None,
        }
    }
}