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
/// 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 scanner 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 scanner 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 scanner data which should be used for update
/// * `mask` \[`FieldMask`\] struct with scanner 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 scanner data which should be used for update
#[prost(message, optional, tag = "2")]
pub data: ::core::option::Option<Data>,
/// struct with scanner fields that should be updated
#[prost(message, optional, tag = "3")]
pub mask: ::core::option::Option<::prost_types::FieldMask>,
}
/// Data struct with scanner data
#[derive(Serialize, Deserialize)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Data {
/// the organization UUID associated with the scanner
#[prost(string, tag = "1")]
pub organization_id: ::prost::alloc::string::String,
/// the device type of the scanner
#[prost(enumeration = "ScannerType", tag = "2")]
pub scanner_type: i32,
/// the status of the scanner
#[prost(enumeration = "ScannerStatus", tag = "3")]
pub scanner_status: i32,
}
/// Struct containing a `list` of scanner \[Vec\<Object\>\]
#[derive(Serialize, Deserialize)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct List {
/// array/vector of scanner items
#[prost(message, repeated, tag = "1")]
pub list: ::prost::alloc::vec::Vec<Object>,
}
/// Scanner Type Enum
#[derive(num_derive::FromPrimitive)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ScannerType {
/// Handheld Device - Smartphone App or Tablet
Mobile = 0,
/// Locker Scanner - Allows Customer to Access Package
Locker = 1,
/// Facility - Warehouse or Distribution Center
Facility = 2,
/// Aircraft or Drone-Mounted Scanner
Underbelly = 3,
}
impl ScannerType {
/// 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 {
ScannerType::Mobile => "MOBILE",
ScannerType::Locker => "LOCKER",
ScannerType::Facility => "FACILITY",
ScannerType::Underbelly => "UNDERBELLY",
}
}
/// Creates an enum from field names used in the ProtoBuf definition.
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"MOBILE" => Some(Self::Mobile),
"LOCKER" => Some(Self::Locker),
"FACILITY" => Some(Self::Facility),
"UNDERBELLY" => Some(Self::Underbelly),
_ => None,
}
}
}
/// Scanner Status Enum
#[derive(num_derive::FromPrimitive)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ScannerStatus {
/// Allow scans from this device
Active = 0,
/// Disabled scanner
Disabled = 1,
}
impl ScannerStatus {
/// 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 {
ScannerStatus::Active => "ACTIVE",
ScannerStatus::Disabled => "DISABLED",
}
}
/// Creates an enum from field names used in the ProtoBuf definition.
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"ACTIVE" => Some(Self::Active),
"DISABLED" => Some(Self::Disabled),
_ => None,
}
}
}