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,
}
}
}