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