Skip to main content

megacommerce_proto/
shared.v1.rs

1// This file is @generated by prost-build.
2#[derive(serde::Serialize, serde::Deserialize)]
3#[derive(Clone, Copy, PartialEq, ::prost::Message)]
4pub struct PingRequest {}
5#[derive(serde::Serialize, serde::Deserialize)]
6#[derive(Clone, Copy, PartialEq, ::prost::Message)]
7pub struct PingResponse {}
8#[derive(serde::Serialize, serde::Deserialize)]
9#[derive(Clone, PartialEq, ::prost::Message)]
10pub struct SuccessResponseData {
11    #[prost(string, optional, tag = "1")]
12    pub message: ::core::option::Option<::prost::alloc::string::String>,
13    #[prost(map = "string, string", tag = "2")]
14    pub metadata: ::std::collections::HashMap<
15        ::prost::alloc::string::String,
16        ::prost::alloc::string::String,
17    >,
18}
19#[derive(serde::Serialize, serde::Deserialize)]
20#[derive(Clone, PartialEq, ::prost::Message)]
21pub struct StringMap {
22    #[prost(map = "string, string", tag = "1")]
23    pub values: ::std::collections::HashMap<
24        ::prost::alloc::string::String,
25        ::prost::alloc::string::String,
26    >,
27}
28#[derive(serde::Serialize, serde::Deserialize)]
29#[derive(Clone, PartialEq, ::prost::Message)]
30pub struct NestedStringMap {
31    #[prost(map = "string, message", tag = "1")]
32    pub data: ::std::collections::HashMap<::prost::alloc::string::String, StringMap>,
33}
34#[derive(serde::Serialize, serde::Deserialize)]
35#[derive(Clone, PartialEq, ::prost::Message)]
36pub struct StringArray {
37    #[prost(string, repeated, tag = "1")]
38    pub values: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
39}
40#[derive(serde::Serialize, serde::Deserialize)]
41#[derive(Clone, Copy, PartialEq, ::prost::Message)]
42pub struct OrderDirection {
43    #[prost(oneof = "order_direction::Order", tags = "1, 2")]
44    pub order: ::core::option::Option<order_direction::Order>,
45}
46/// Nested message and enum types in `OrderDirection`.
47pub mod order_direction {
48    #[derive(serde::Serialize, serde::Deserialize)]
49    #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
50    pub enum Order {
51        #[prost(bool, tag = "1")]
52        Asc(bool),
53        #[prost(bool, tag = "2")]
54        Desc(bool),
55    }
56}
57#[derive(serde::Serialize, serde::Deserialize)]
58#[derive(Clone, PartialEq, ::prost::Message)]
59pub struct IdName {
60    #[prost(string, tag = "1")]
61    pub id: ::prost::alloc::string::String,
62    #[prost(string, tag = "2")]
63    pub name: ::prost::alloc::string::String,
64}
65/// Custom Any message to avoid google.protobuf.Any issues
66#[derive(serde::Serialize, serde::Deserialize)]
67#[derive(Clone, PartialEq, ::prost::Message)]
68pub struct Any {
69    /// Identifies the type of the serialized message
70    #[prost(string, tag = "1")]
71    pub type_url: ::prost::alloc::string::String,
72    /// Serialized proto data
73    #[prost(bytes = "vec", tag = "2")]
74    pub value: ::prost::alloc::vec::Vec<u8>,
75}
76#[derive(serde::Serialize, serde::Deserialize)]
77#[derive(Clone, Copy, PartialEq, ::prost::Message)]
78pub struct Empty {}
79#[derive(serde::Serialize, serde::Deserialize)]
80#[derive(Clone, PartialEq, ::prost::Message)]
81pub struct AppError {
82    #[prost(string, tag = "1")]
83    pub id: ::prost::alloc::string::String,
84    /// displayed to the end user without debugging info
85    #[prost(string, tag = "2")]
86    pub message: ::prost::alloc::string::String,
87    /// Internal debug info
88    #[prost(string, tag = "3")]
89    pub detailed_error: ::prost::alloc::string::String,
90    /// For correlation
91    #[prost(string, tag = "4")]
92    pub request_id: ::prost::alloc::string::String,
93    /// grpc status code
94    #[prost(int32, tag = "5")]
95    pub status_code: i32,
96    /// Code path or func name
97    #[prost(string, tag = "6")]
98    pub r#where: ::prost::alloc::string::String,
99    /// If false, i18n may not apply
100    #[prost(bool, tag = "7")]
101    pub skip_translation: bool,
102    #[prost(message, optional, tag = "8")]
103    pub errors: ::core::option::Option<StringMap>,
104    #[prost(message, optional, tag = "9")]
105    pub errors_nested: ::core::option::Option<NestedStringMap>,
106}
107/// `Struct` represents a structured data value, consisting of fields
108/// which map to dynamically typed values. In some languages, `Struct`
109/// might be supported by a native representation. For example, in
110/// scripting languages like JS a struct is represented as an
111/// object. The details of that representation are described together
112/// with the proto support for the language.
113///
114/// The JSON representation for `Struct` is JSON object.
115#[derive(serde::Serialize, serde::Deserialize)]
116#[derive(Clone, PartialEq, ::prost::Message)]
117pub struct Struct {
118    /// Unordered map of dynamically typed values.
119    #[prost(map = "string, message", tag = "1")]
120    pub fields: ::std::collections::HashMap<::prost::alloc::string::String, Value>,
121}
122/// `Value` represents a dynamically typed value which can be either
123/// null, a number, a string, a boolean, a recursive struct value, or a
124/// list of values. A producer of value is expected to set one of these
125/// variants. Absence of any variant indicates an error.
126///
127/// The JSON representation for `Value` is JSON value.
128#[derive(serde::Serialize, serde::Deserialize)]
129#[derive(Clone, PartialEq, ::prost::Message)]
130pub struct Value {
131    /// The kind of value.
132    #[prost(oneof = "value::Kind", tags = "1, 2, 3, 4, 5, 6")]
133    pub kind: ::core::option::Option<value::Kind>,
134}
135/// Nested message and enum types in `Value`.
136pub mod value {
137    /// The kind of value.
138    #[derive(serde::Serialize, serde::Deserialize)]
139    #[derive(Clone, PartialEq, ::prost::Oneof)]
140    pub enum Kind {
141        /// Represents a null value.
142        #[prost(enumeration = "super::NullValue", tag = "1")]
143        NullValue(i32),
144        /// Represents a double value.
145        #[prost(double, tag = "2")]
146        NumberValue(f64),
147        /// Represents a string value.
148        #[prost(string, tag = "3")]
149        StringValue(::prost::alloc::string::String),
150        /// Represents a boolean value.
151        #[prost(bool, tag = "4")]
152        BoolValue(bool),
153        /// Represents a structured value.
154        #[prost(message, tag = "5")]
155        StructValue(super::Struct),
156        /// Represents a repeated `Value`.
157        #[prost(message, tag = "6")]
158        ListValue(super::ListValue),
159    }
160}
161/// `ListValue` is a wrapper around a repeated field of values.
162///
163/// The JSON representation for `ListValue` is JSON array.
164#[derive(serde::Serialize, serde::Deserialize)]
165#[derive(Clone, PartialEq, ::prost::Message)]
166pub struct ListValue {
167    /// Repeated field of dynamically typed values.
168    #[prost(message, repeated, tag = "1")]
169    pub values: ::prost::alloc::vec::Vec<Value>,
170}
171/// `NullValue` is a singleton enumeration to represent the null value for the
172/// `Value` type union.
173///
174/// The JSON representation for `NullValue` is JSON `null`.
175#[derive(serde::Serialize, serde::Deserialize)]
176#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
177#[repr(i32)]
178pub enum NullValue {
179    /// Null value.
180    NullValue = 0,
181}
182impl NullValue {
183    /// String value of the enum field names used in the ProtoBuf definition.
184    ///
185    /// The values are not transformed in any way and thus are considered stable
186    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
187    pub fn as_str_name(&self) -> &'static str {
188        match self {
189            Self::NullValue => "NULL_VALUE",
190        }
191    }
192    /// Creates an enum from field names used in the ProtoBuf definition.
193    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
194        match value {
195            "NULL_VALUE" => Some(Self::NullValue),
196            _ => None,
197        }
198    }
199}
200#[derive(serde::Serialize, serde::Deserialize)]
201#[derive(Clone, PartialEq, ::prost::Message)]
202pub struct PaginationSort {
203    /// data field name (E,g created at)
204    #[prost(string, tag = "1")]
205    pub name: ::prost::alloc::string::String,
206    #[prost(enumeration = "SortDirection", optional, tag = "2")]
207    pub direction: ::core::option::Option<i32>,
208}
209#[derive(serde::Serialize, serde::Deserialize)]
210#[derive(Clone, PartialEq, ::prost::Message)]
211pub struct PaginationRequest {
212    /// Basic pagination
213    ///
214    /// ULID, UUID, or cursor
215    #[prost(string, optional, tag = "1")]
216    pub last_id: ::core::option::Option<::prost::alloc::string::String>,
217    /// Page number (1-based)
218    #[prost(uint32, optional, tag = "2")]
219    pub page: ::core::option::Option<u32>,
220    /// Items per page (default: 20, max: 100)
221    #[prost(uint32, optional, tag = "3")]
222    pub page_size: ::core::option::Option<u32>,
223    /// Opaque token for complex pagination
224    #[prost(string, optional, tag = "4")]
225    pub page_token: ::core::option::Option<::prost::alloc::string::String>,
226    /// Cursor-based pagination
227    ///
228    /// Get items after this ID/cursor
229    #[prost(string, optional, tag = "5")]
230    pub after: ::core::option::Option<::prost::alloc::string::String>,
231    /// Get items including and after this ID
232    #[prost(string, optional, tag = "6")]
233    pub after_including: ::core::option::Option<::prost::alloc::string::String>,
234    /// Get items before this ID/cursor
235    #[prost(string, optional, tag = "7")]
236    pub before: ::core::option::Option<::prost::alloc::string::String>,
237    /// Get items including and before this ID
238    #[prost(string, optional, tag = "8")]
239    pub before_including: ::core::option::Option<::prost::alloc::string::String>,
240    /// Sorting
241    ///
242    /// Fields to sort by: "created_at", "price", "name"
243    #[prost(message, repeated, tag = "9")]
244    pub sort_by: ::prost::alloc::vec::Vec<PaginationSort>,
245    /// Additional metadata
246    ///
247    /// Whether to return total count
248    #[prost(bool, optional, tag = "10")]
249    pub include_total_count: ::core::option::Option<bool>,
250    /// Whether to include soft-deleted items
251    #[prost(bool, optional, tag = "11")]
252    pub include_deleted: ::core::option::Option<bool>,
253    /// Date range filters (common for time-series data)
254    ///
255    /// Unix timestamp
256    #[prost(uint64, optional, tag = "12")]
257    pub created_after: ::core::option::Option<u64>,
258    /// Unix timestamp
259    #[prost(uint64, optional, tag = "13")]
260    pub created_before: ::core::option::Option<u64>,
261    /// Unix timestamp
262    #[prost(uint64, optional, tag = "14")]
263    pub updated_after: ::core::option::Option<u64>,
264    /// Unix timestamp
265    #[prost(uint64, optional, tag = "15")]
266    pub updated_before: ::core::option::Option<u64>,
267}
268#[derive(serde::Serialize, serde::Deserialize)]
269#[derive(Clone, PartialEq, ::prost::Message)]
270pub struct PaginationResponse {
271    #[prost(string, optional, tag = "1")]
272    pub next_page_token: ::core::option::Option<::prost::alloc::string::String>,
273    #[prost(string, optional, tag = "2")]
274    pub previous_page_token: ::core::option::Option<::prost::alloc::string::String>,
275    #[prost(bool, optional, tag = "3")]
276    pub has_next: ::core::option::Option<bool>,
277    #[prost(bool, optional, tag = "4")]
278    pub has_previous: ::core::option::Option<bool>,
279}
280#[derive(serde::Serialize, serde::Deserialize)]
281#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
282#[repr(i32)]
283pub enum SortDirection {
284    Unspecified = 0,
285    Asc = 1,
286    Desc = 2,
287}
288impl SortDirection {
289    /// String value of the enum field names used in the ProtoBuf definition.
290    ///
291    /// The values are not transformed in any way and thus are considered stable
292    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
293    pub fn as_str_name(&self) -> &'static str {
294        match self {
295            Self::Unspecified => "SORT_DIRECTION_UNSPECIFIED",
296            Self::Asc => "SORT_DIRECTION_ASC",
297            Self::Desc => "SORT_DIRECTION_DESC",
298        }
299    }
300    /// Creates an enum from field names used in the ProtoBuf definition.
301    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
302        match value {
303            "SORT_DIRECTION_UNSPECIFIED" => Some(Self::Unspecified),
304            "SORT_DIRECTION_ASC" => Some(Self::Asc),
305            "SORT_DIRECTION_DESC" => Some(Self::Desc),
306            _ => None,
307        }
308    }
309}
310#[derive(serde::Serialize, serde::Deserialize)]
311#[derive(Clone, PartialEq, ::prost::Message)]
312pub struct Attachment {
313    #[prost(string, tag = "1")]
314    pub id: ::prost::alloc::string::String,
315    #[prost(string, tag = "2")]
316    pub filename: ::prost::alloc::string::String,
317    #[prost(string, tag = "3")]
318    pub file_type: ::prost::alloc::string::String,
319    #[prost(int64, tag = "4")]
320    pub file_size: i64,
321    #[prost(string, tag = "5")]
322    pub file_extension: ::prost::alloc::string::String,
323    #[prost(string, tag = "6")]
324    pub base64: ::prost::alloc::string::String,
325    #[prost(int32, tag = "7")]
326    pub exif_orientation: i32,
327    #[prost(message, optional, tag = "8")]
328    pub crop: ::core::option::Option<Crop>,
329    /// arbitrary JSON-like object
330    #[prost(message, optional, tag = "9")]
331    pub metadata: ::core::option::Option<Struct>,
332    /// usually set by the backend
333    #[prost(bytes = "vec", tag = "10")]
334    pub data: ::prost::alloc::vec::Vec<u8>,
335    /// usually set by the backend
336    #[prost(string, tag = "11")]
337    pub mime: ::prost::alloc::string::String,
338    #[prost(string, optional, tag = "12")]
339    pub checksum: ::core::option::Option<::prost::alloc::string::String>,
340    #[prost(string, optional, tag = "13")]
341    pub url: ::core::option::Option<::prost::alloc::string::String>,
342    #[prost(uint64, optional, tag = "14")]
343    pub duration_seconds: ::core::option::Option<u64>,
344    #[prost(string, optional, tag = "15")]
345    pub error: ::core::option::Option<::prost::alloc::string::String>,
346}
347#[derive(serde::Serialize, serde::Deserialize)]
348#[derive(Clone, PartialEq, ::prost::Message)]
349pub struct Attachments {
350    #[prost(message, repeated, tag = "1")]
351    pub attachments: ::prost::alloc::vec::Vec<Attachment>,
352}
353#[derive(serde::Serialize, serde::Deserialize)]
354#[derive(Clone, Copy, PartialEq, ::prost::Message)]
355pub struct Crop {
356    #[prost(float, tag = "1")]
357    pub x: f32,
358    #[prost(float, tag = "2")]
359    pub y: f32,
360    #[prost(float, tag = "3")]
361    pub width: f32,
362    #[prost(float, tag = "4")]
363    pub height: f32,
364    #[prost(float, tag = "5")]
365    pub aspect_ratio: f32,
366}
367/// A Timestamp represents a point in time independent of any time zone or local
368/// calendar, encoded as a count of seconds and fractions of seconds at
369/// nanosecond resolution. The count is relative to an epoch at UTC midnight on
370/// January 1, 1970, in the proleptic Gregorian calendar which extends the
371/// Gregorian calendar backwards to year one.
372///
373/// All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap
374/// second table is needed for interpretation, using a
375/// [24-hour linear smear](<https://developers.google.com/time/smear>).
376///
377/// The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By
378/// restricting to that range, we ensure that we can convert to and from
379/// [RFC 3339](<https://www.ietf.org/rfc/rfc3339.txt>) date strings.
380///
381/// # Examples
382///
383/// Example 1: Compute Timestamp from POSIX `time()`.
384///
385///      Timestamp timestamp;
386///      timestamp.set_seconds(time(NULL));
387///      timestamp.set_nanos(0);
388///
389/// Example 2: Compute Timestamp from POSIX `gettimeofday()`.
390///
391///      struct timeval tv;
392///      gettimeofday(&tv, NULL);
393///
394///      Timestamp timestamp;
395///      timestamp.set_seconds(tv.tv_sec);
396///      timestamp.set_nanos(tv.tv_usec * 1000);
397///
398/// Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.
399///
400///      FILETIME ft;
401///      GetSystemTimeAsFileTime(&ft);
402///      UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;
403///
404///      // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z
405///      // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z.
406///      Timestamp timestamp;
407///      timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL));
408///      timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
409///
410/// Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.
411///
412///      long millis = System.currentTimeMillis();
413///
414///      Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000)
415///          .setNanos((int) ((millis % 1000) * 1000000)).build();
416///
417/// Example 5: Compute Timestamp from Java `Instant.now()`.
418///
419///      Instant now = Instant.now();
420///
421///      Timestamp timestamp =
422///          Timestamp.newBuilder().setSeconds(now.getEpochSecond())
423///              .setNanos(now.getNano()).build();
424///
425/// Example 6: Compute Timestamp from current time in Python.
426///
427///      timestamp = Timestamp()
428///      timestamp.GetCurrentTime()
429///
430/// # JSON Mapping
431///
432/// In JSON format, the Timestamp type is encoded as a string in the
433/// [RFC 3339](<https://www.ietf.org/rfc/rfc3339.txt>) format. That is, the
434/// format is "{year}-{month}-{day}T{hour}:{min}:{sec}\[.{frac_sec}\]Z"
435/// where {year} is always expressed using four digits while {month}, {day},
436/// {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional
437/// seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution),
438/// are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone
439/// is required. A proto3 JSON serializer should always use UTC (as indicated by "Z")
440/// when printing the Timestamp type and a proto3 JSON parser should be
441/// able to accept both UTC and other timezones (as indicated by an offset).
442///
443/// For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past
444/// 01:30 UTC on January 15, 2017.
445///
446/// In JavaScript, one can convert a Date object to this format using the standard
447/// [toISOString()](<https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString>)
448/// method. In Python, a standard `datetime.datetime` object can be converted
449/// to this format using
450/// [`strftime`](<https://docs.python.org/2/library/time.html#time.strftime>) with
451/// the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use
452/// the Joda Time's [`ISODateTimeFormat.dateTime()`](
453/// <http://joda-time.sourceforge.net/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime(>)
454/// ) to obtain a formatter capable of generating timestamps in this format.
455///
456#[derive(serde::Serialize, serde::Deserialize)]
457#[derive(Clone, Copy, PartialEq, ::prost::Message)]
458pub struct Timestamp {
459    /// Represents seconds of UTC time since Unix epoch
460    /// 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to
461    /// 9999-12-31T23:59:59Z inclusive.
462    #[prost(int64, tag = "1")]
463    pub seconds: i64,
464    /// Non-negative fractions of a second at nanosecond resolution. Negative
465    /// second values with fractions must still have non-negative nanos values
466    /// that count forward in time. Must be from 0 to 999,999,999 inclusive.
467    #[prost(int32, tag = "2")]
468    pub nanos: i32,
469}
470/// Validation message with a oneof for typed rules
471#[derive(serde::Serialize, serde::Deserialize)]
472#[derive(Clone, PartialEq, ::prost::Message)]
473pub struct ValidationField {
474    #[prost(oneof = "validation_field::Rule", tags = "1, 2, 3")]
475    pub rule: ::core::option::Option<validation_field::Rule>,
476}
477/// Nested message and enum types in `ValidationField`.
478pub mod validation_field {
479    #[derive(serde::Serialize, serde::Deserialize)]
480    #[derive(Clone, PartialEq, ::prost::Oneof)]
481    pub enum Rule {
482        #[prost(message, tag = "1")]
483        Numeric(super::ValidationFieldNumeric),
484        #[prost(message, tag = "2")]
485        Str(super::ValidationFieldString),
486        #[prost(message, tag = "3")]
487        Regex(super::ValidationFieldRegex),
488    }
489}
490/// Numeric rule (min/max, etc.)
491#[derive(serde::Serialize, serde::Deserialize)]
492#[derive(Clone, PartialEq, ::prost::Message)]
493pub struct ValidationFieldNumeric {
494    #[prost(message, repeated, tag = "1")]
495    pub rules: ::prost::alloc::vec::Vec<NumericRule>,
496}
497#[derive(serde::Serialize, serde::Deserialize)]
498#[derive(Clone, Copy, PartialEq, ::prost::Message)]
499pub struct NumericRule {
500    #[prost(enumeration = "NumericRuleType", tag = "1")]
501    pub r#type: i32,
502    /// numeric parameter (double to accept int/float)
503    #[prost(double, tag = "2")]
504    pub value: f64,
505}
506/// String rule (min/max length)
507#[derive(serde::Serialize, serde::Deserialize)]
508#[derive(Clone, PartialEq, ::prost::Message)]
509pub struct ValidationFieldString {
510    #[prost(message, repeated, tag = "1")]
511    pub rules: ::prost::alloc::vec::Vec<StringRule>,
512}
513#[derive(serde::Serialize, serde::Deserialize)]
514#[derive(Clone, Copy, PartialEq, ::prost::Message)]
515pub struct StringRule {
516    #[prost(enumeration = "StringRuleType", tag = "1")]
517    pub r#type: i32,
518    /// numeric parameter (double to accept int/float)
519    #[prost(double, tag = "2")]
520    pub value: f64,
521}
522/// Regex rule (pattern)
523#[derive(serde::Serialize, serde::Deserialize)]
524#[derive(Clone, PartialEq, ::prost::Message)]
525pub struct ValidationFieldRegex {
526    #[prost(string, tag = "1")]
527    pub pattern: ::prost::alloc::string::String,
528    #[prost(bool, tag = "2")]
529    pub case_sensitive: bool,
530}
531#[derive(serde::Serialize, serde::Deserialize)]
532#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
533#[repr(i32)]
534pub enum NumericRuleType {
535    Min = 0,
536    Max = 1,
537    /// greater than
538    Gt = 2,
539    /// less than
540    Lt = 3,
541}
542impl NumericRuleType {
543    /// String value of the enum field names used in the ProtoBuf definition.
544    ///
545    /// The values are not transformed in any way and thus are considered stable
546    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
547    pub fn as_str_name(&self) -> &'static str {
548        match self {
549            Self::Min => "NUMERIC_RULE_TYPE_MIN",
550            Self::Max => "NUMERIC_RULE_TYPE_MAX",
551            Self::Gt => "NUMERIC_RULE_TYPE_GT",
552            Self::Lt => "NUMERIC_RULE_TYPE_LT",
553        }
554    }
555    /// Creates an enum from field names used in the ProtoBuf definition.
556    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
557        match value {
558            "NUMERIC_RULE_TYPE_MIN" => Some(Self::Min),
559            "NUMERIC_RULE_TYPE_MAX" => Some(Self::Max),
560            "NUMERIC_RULE_TYPE_GT" => Some(Self::Gt),
561            "NUMERIC_RULE_TYPE_LT" => Some(Self::Lt),
562            _ => None,
563        }
564    }
565}
566#[derive(serde::Serialize, serde::Deserialize)]
567#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
568#[repr(i32)]
569pub enum StringRuleType {
570    Min = 0,
571    Max = 1,
572}
573impl StringRuleType {
574    /// String value of the enum field names used in the ProtoBuf definition.
575    ///
576    /// The values are not transformed in any way and thus are considered stable
577    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
578    pub fn as_str_name(&self) -> &'static str {
579        match self {
580            Self::Min => "STRING_RULE_TYPE_MIN",
581            Self::Max => "STRING_RULE_TYPE_MAX",
582        }
583    }
584    /// Creates an enum from field names used in the ProtoBuf definition.
585    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
586        match value {
587            "STRING_RULE_TYPE_MIN" => Some(Self::Min),
588            "STRING_RULE_TYPE_MAX" => Some(Self::Max),
589            _ => None,
590        }
591    }
592}
593/// Wrapper message for `double`.
594///
595/// The JSON representation for `DoubleValue` is JSON number.
596///
597/// Not recommended for use in new APIs, but still useful for legacy APIs and
598/// has no plan to be removed.
599#[derive(serde::Serialize, serde::Deserialize)]
600#[derive(Clone, Copy, PartialEq, ::prost::Message)]
601pub struct DoubleValue {
602    /// The double value.
603    #[prost(double, tag = "1")]
604    pub value: f64,
605}
606/// Wrapper message for `float`.
607///
608/// The JSON representation for `FloatValue` is JSON number.
609///
610/// Not recommended for use in new APIs, but still useful for legacy APIs and
611/// has no plan to be removed.
612#[derive(serde::Serialize, serde::Deserialize)]
613#[derive(Clone, Copy, PartialEq, ::prost::Message)]
614pub struct FloatValue {
615    /// The float value.
616    #[prost(float, tag = "1")]
617    pub value: f32,
618}
619/// Wrapper message for `int64`.
620///
621/// The JSON representation for `Int64Value` is JSON string.
622///
623/// Not recommended for use in new APIs, but still useful for legacy APIs and
624/// has no plan to be removed.
625#[derive(serde::Serialize, serde::Deserialize)]
626#[derive(Clone, Copy, PartialEq, ::prost::Message)]
627pub struct Int64Value {
628    /// The int64 value.
629    #[prost(int64, tag = "1")]
630    pub value: i64,
631}
632/// Wrapper message for `uint64`.
633///
634/// The JSON representation for `UInt64Value` is JSON string.
635///
636/// Not recommended for use in new APIs, but still useful for legacy APIs and
637/// has no plan to be removed.
638#[derive(serde::Serialize, serde::Deserialize)]
639#[derive(Clone, Copy, PartialEq, ::prost::Message)]
640pub struct UInt64Value {
641    /// The uint64 value.
642    #[prost(uint64, tag = "1")]
643    pub value: u64,
644}
645/// Wrapper message for `int32`.
646///
647/// The JSON representation for `Int32Value` is JSON number.
648///
649/// Not recommended for use in new APIs, but still useful for legacy APIs and
650/// has no plan to be removed.
651#[derive(serde::Serialize, serde::Deserialize)]
652#[derive(Clone, Copy, PartialEq, ::prost::Message)]
653pub struct Int32Value {
654    /// The int32 value.
655    #[prost(int32, tag = "1")]
656    pub value: i32,
657}
658/// Wrapper message for `uint32`.
659///
660/// The JSON representation for `UInt32Value` is JSON number.
661///
662/// Not recommended for use in new APIs, but still useful for legacy APIs and
663/// has no plan to be removed.
664#[derive(serde::Serialize, serde::Deserialize)]
665#[derive(Clone, Copy, PartialEq, ::prost::Message)]
666pub struct UInt32Value {
667    /// The uint32 value.
668    #[prost(uint32, tag = "1")]
669    pub value: u32,
670}
671/// Wrapper message for `bool`.
672///
673/// The JSON representation for `BoolValue` is JSON `true` and `false`.
674///
675/// Not recommended for use in new APIs, but still useful for legacy APIs and
676/// has no plan to be removed.
677#[derive(serde::Serialize, serde::Deserialize)]
678#[derive(Clone, Copy, PartialEq, ::prost::Message)]
679pub struct BoolValue {
680    /// The bool value.
681    #[prost(bool, tag = "1")]
682    pub value: bool,
683}
684/// Wrapper message for `string`.
685///
686/// The JSON representation for `StringValue` is JSON string.
687///
688/// Not recommended for use in new APIs, but still useful for legacy APIs and
689/// has no plan to be removed.
690#[derive(serde::Serialize, serde::Deserialize)]
691#[derive(Clone, PartialEq, ::prost::Message)]
692pub struct StringValue {
693    /// The string value.
694    #[prost(string, tag = "1")]
695    pub value: ::prost::alloc::string::String,
696}
697/// Wrapper message for `bytes`.
698///
699/// The JSON representation for `BytesValue` is JSON string.
700///
701/// Not recommended for use in new APIs, but still useful for legacy APIs and
702/// has no plan to be removed.
703#[derive(serde::Serialize, serde::Deserialize)]
704#[derive(Clone, PartialEq, ::prost::Message)]
705pub struct BytesValue {
706    /// The bytes value.
707    #[prost(bytes = "vec", tag = "1")]
708    pub value: ::prost::alloc::vec::Vec<u8>,
709}