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