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
/// 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 parcel 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 parcel 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 parcel data which should be used for update
/// * `mask` \[`FieldMask`\] struct with parcel 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 parcel data which should be used for update
    #[prost(message, optional, tag = "2")]
    pub data: ::core::option::Option<Data>,
    /// struct with parcel fields that should be updated
    #[prost(message, optional, tag = "3")]
    pub mask: ::core::option::Option<::prost_types::FieldMask>,
}
/// Data struct with parcel data
#[derive(Serialize, Deserialize)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Data {
    /// the user UUID associated with this parcel
    #[prost(string, tag = "1")]
    pub user_id: ::prost::alloc::string::String,
    /// the weight (in grams)
    #[prost(uint32, tag = "2")]
    pub weight_grams: u32,
    /// the status of the parcel
    #[prost(enumeration = "ParcelStatus", tag = "3")]
    pub status: i32,
}
/// Struct containing a `list` of parcel \[Vec\<Object\>\]
#[derive(Serialize, Deserialize)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct List {
    /// array/vector of parcel items
    #[prost(message, repeated, tag = "1")]
    pub list: ::prost::alloc::vec::Vec<Object>,
}
/// Parcel Status Enum
#[derive(num_derive::FromPrimitive)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ParcelStatus {
    /// Has not been dropped off
    Notdroppedoff = 0,
    /// Has been dropped off
    Droppedoff = 1,
    /// En Route (could be a number of vertiport hops)
    Enroute = 2,
    /// Arrived at destination port
    Arrived = 3,
    /// Picked up by recipient
    Pickedup = 4,
    /// Transaction complete & parties have been notified of the
    /// completed transaction
    Complete = 5,
}
impl ParcelStatus {
    /// 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 {
            ParcelStatus::Notdroppedoff => "NOTDROPPEDOFF",
            ParcelStatus::Droppedoff => "DROPPEDOFF",
            ParcelStatus::Enroute => "ENROUTE",
            ParcelStatus::Arrived => "ARRIVED",
            ParcelStatus::Pickedup => "PICKEDUP",
            ParcelStatus::Complete => "COMPLETE",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "NOTDROPPEDOFF" => Some(Self::Notdroppedoff),
            "DROPPEDOFF" => Some(Self::Droppedoff),
            "ENROUTE" => Some(Self::Enroute),
            "ARRIVED" => Some(Self::Arrived),
            "PICKEDUP" => Some(Self::Pickedup),
            "COMPLETE" => Some(Self::Complete),
            _ => None,
        }
    }
}