1#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
7pub struct Case {
8 #[prost(string, tag = "1")]
10 pub name: ::prost::alloc::string::String,
11 #[prost(string, tag = "2")]
13 pub urn: ::prost::alloc::string::String,
14 #[prost(string, tag = "3")]
17 pub project: ::prost::alloc::string::String,
18 #[prost(string, tag = "4")]
20 pub subject: ::prost::alloc::string::String,
21 #[prost(string, tag = "5")]
23 pub description: ::prost::alloc::string::String,
24 #[prost(string, tag = "6")]
28 pub contact_email: ::prost::alloc::string::String,
29 #[prost(enumeration = "case::State", tag = "7")]
32 pub state: i32,
33 #[prost(string, tag = "8")]
36 pub creator: ::prost::alloc::string::String,
37 #[prost(message, optional, tag = "9")]
39 pub create_time: ::core::option::Option<::origincloud_core::protobuf::Timestamp>,
40 #[prost(message, optional, tag = "10")]
42 pub update_time: ::core::option::Option<::origincloud_core::protobuf::Timestamp>,
43}
44pub mod case {
46 #[derive(
48 Clone,
49 Copy,
50 Debug,
51 PartialEq,
52 Eq,
53 Hash,
54 PartialOrd,
55 Ord,
56 ::prost::Enumeration
57 )]
58 #[repr(i32)]
59 pub enum State {
60 Unspecified = 0,
62 Open = 1,
64 InProgress = 2,
66 Resolved = 3,
68 Closed = 4,
70 }
71 impl State {
72 pub fn as_str_name(&self) -> &'static str {
77 match self {
78 Self::Unspecified => "STATE_UNSPECIFIED",
79 Self::Open => "OPEN",
80 Self::InProgress => "IN_PROGRESS",
81 Self::Resolved => "RESOLVED",
82 Self::Closed => "CLOSED",
83 }
84 }
85 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
87 match value {
88 "STATE_UNSPECIFIED" => Some(Self::Unspecified),
89 "OPEN" => Some(Self::Open),
90 "IN_PROGRESS" => Some(Self::InProgress),
91 "RESOLVED" => Some(Self::Resolved),
92 "CLOSED" => Some(Self::Closed),
93 _ => None,
94 }
95 }
96 }
97}
98#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
100pub struct GetCaseRequest {
101 #[prost(string, tag = "1")]
103 pub name: ::prost::alloc::string::String,
104}
105#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
107pub struct ListCasesRequest {
108 #[prost(string, tag = "1")]
110 pub parent: ::prost::alloc::string::String,
111 #[prost(int32, tag = "2")]
114 pub page_size: i32,
115 #[prost(string, tag = "3")]
117 pub page_token: ::prost::alloc::string::String,
118}
119#[derive(Clone, PartialEq, ::prost::Message)]
121pub struct ListCasesResponse {
122 #[prost(message, repeated, tag = "1")]
124 pub cases: ::prost::alloc::vec::Vec<Case>,
125 #[prost(string, tag = "2")]
127 pub next_page_token: ::prost::alloc::string::String,
128}
129#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
131pub struct CreateCaseRequest {
132 #[prost(string, tag = "1")]
134 pub parent: ::prost::alloc::string::String,
135 #[prost(message, optional, tag = "2")]
138 pub case: ::core::option::Option<Case>,
139 #[prost(string, tag = "3")]
142 pub request_id: ::prost::alloc::string::String,
143}
144#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
146pub struct CloseCaseRequest {
147 #[prost(string, tag = "1")]
149 pub name: ::prost::alloc::string::String,
150}
151#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
153pub struct ReopenCaseRequest {
154 #[prost(string, tag = "1")]
156 pub name: ::prost::alloc::string::String,
157}
158#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
160pub struct CaseMessage {
161 #[prost(string, tag = "1")]
164 pub name: ::prost::alloc::string::String,
165 #[prost(string, tag = "2")]
167 pub body: ::prost::alloc::string::String,
168 #[prost(string, tag = "3")]
171 pub author: ::prost::alloc::string::String,
172 #[prost(message, optional, tag = "4")]
174 pub create_time: ::core::option::Option<::origincloud_core::protobuf::Timestamp>,
175}
176#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
178pub struct GetCaseMessageRequest {
179 #[prost(string, tag = "1")]
181 pub name: ::prost::alloc::string::String,
182}
183#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
185pub struct ListCaseMessagesRequest {
186 #[prost(string, tag = "1")]
189 pub parent: ::prost::alloc::string::String,
190 #[prost(int32, tag = "2")]
193 pub page_size: i32,
194 #[prost(string, tag = "3")]
196 pub page_token: ::prost::alloc::string::String,
197}
198#[derive(Clone, PartialEq, ::prost::Message)]
200pub struct ListCaseMessagesResponse {
201 #[prost(message, repeated, tag = "1")]
203 pub case_messages: ::prost::alloc::vec::Vec<CaseMessage>,
204 #[prost(string, tag = "2")]
206 pub next_page_token: ::prost::alloc::string::String,
207}
208#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
210pub struct CreateCaseMessageRequest {
211 #[prost(string, tag = "1")]
214 pub parent: ::prost::alloc::string::String,
215 #[prost(message, optional, tag = "2")]
217 pub case_message: ::core::option::Option<CaseMessage>,
218 #[prost(string, tag = "3")]
221 pub request_id: ::prost::alloc::string::String,
222}
223impl serde::Serialize for Case {
224 #[allow(deprecated)]
225 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
226 where
227 S: serde::Serializer,
228 {
229 use serde::ser::SerializeStruct;
230 let mut len = 0;
231 if !self.name.is_empty() {
232 len += 1;
233 }
234 if !self.urn.is_empty() {
235 len += 1;
236 }
237 if !self.project.is_empty() {
238 len += 1;
239 }
240 if !self.subject.is_empty() {
241 len += 1;
242 }
243 if !self.description.is_empty() {
244 len += 1;
245 }
246 if !self.contact_email.is_empty() {
247 len += 1;
248 }
249 if self.state != 0 {
250 len += 1;
251 }
252 if !self.creator.is_empty() {
253 len += 1;
254 }
255 if self.create_time.is_some() {
256 len += 1;
257 }
258 if self.update_time.is_some() {
259 len += 1;
260 }
261 let mut struct_ser = serializer
262 .serialize_struct("origincloud.support.v1beta1.Case", len)?;
263 if !self.name.is_empty() {
264 struct_ser.serialize_field("name", &self.name)?;
265 }
266 if !self.urn.is_empty() {
267 struct_ser.serialize_field("urn", &self.urn)?;
268 }
269 if !self.project.is_empty() {
270 struct_ser.serialize_field("project", &self.project)?;
271 }
272 if !self.subject.is_empty() {
273 struct_ser.serialize_field("subject", &self.subject)?;
274 }
275 if !self.description.is_empty() {
276 struct_ser.serialize_field("description", &self.description)?;
277 }
278 if !self.contact_email.is_empty() {
279 struct_ser.serialize_field("contactEmail", &self.contact_email)?;
280 }
281 if self.state != 0 {
282 let v = case::State::try_from(self.state)
283 .map_err(|_| serde::ser::Error::custom(
284 format!("Invalid variant {}", self.state),
285 ))?;
286 struct_ser.serialize_field("state", &v)?;
287 }
288 if !self.creator.is_empty() {
289 struct_ser.serialize_field("creator", &self.creator)?;
290 }
291 if let Some(v) = self.create_time.as_ref() {
292 struct_ser.serialize_field("createTime", v)?;
293 }
294 if let Some(v) = self.update_time.as_ref() {
295 struct_ser.serialize_field("updateTime", v)?;
296 }
297 struct_ser.end()
298 }
299}
300impl<'de> serde::Deserialize<'de> for Case {
301 #[allow(deprecated)]
302 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
303 where
304 D: serde::Deserializer<'de>,
305 {
306 const FIELDS: &[&str] = &[
307 "name",
308 "urn",
309 "project",
310 "subject",
311 "description",
312 "contact_email",
313 "contactEmail",
314 "state",
315 "creator",
316 "create_time",
317 "createTime",
318 "update_time",
319 "updateTime",
320 ];
321 #[allow(clippy::enum_variant_names)]
322 enum GeneratedField {
323 Name,
324 Urn,
325 Project,
326 Subject,
327 Description,
328 ContactEmail,
329 State,
330 Creator,
331 CreateTime,
332 UpdateTime,
333 __SkipField__,
334 }
335 impl<'de> serde::Deserialize<'de> for GeneratedField {
336 fn deserialize<D>(
337 deserializer: D,
338 ) -> std::result::Result<GeneratedField, D::Error>
339 where
340 D: serde::Deserializer<'de>,
341 {
342 struct GeneratedVisitor;
343 impl serde::de::Visitor<'_> for GeneratedVisitor {
344 type Value = GeneratedField;
345 fn expecting(
346 &self,
347 formatter: &mut std::fmt::Formatter<'_>,
348 ) -> std::fmt::Result {
349 write!(formatter, "expected one of: {:?}", & FIELDS)
350 }
351 #[allow(unused_variables)]
352 fn visit_str<E>(
353 self,
354 value: &str,
355 ) -> std::result::Result<GeneratedField, E>
356 where
357 E: serde::de::Error,
358 {
359 match value {
360 "name" => Ok(GeneratedField::Name),
361 "urn" => Ok(GeneratedField::Urn),
362 "project" => Ok(GeneratedField::Project),
363 "subject" => Ok(GeneratedField::Subject),
364 "description" => Ok(GeneratedField::Description),
365 "contactEmail" | "contact_email" => {
366 Ok(GeneratedField::ContactEmail)
367 }
368 "state" => Ok(GeneratedField::State),
369 "creator" => Ok(GeneratedField::Creator),
370 "createTime" | "create_time" => {
371 Ok(GeneratedField::CreateTime)
372 }
373 "updateTime" | "update_time" => {
374 Ok(GeneratedField::UpdateTime)
375 }
376 _ => Ok(GeneratedField::__SkipField__),
377 }
378 }
379 }
380 deserializer.deserialize_identifier(GeneratedVisitor)
381 }
382 }
383 struct GeneratedVisitor;
384 impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
385 type Value = Case;
386 fn expecting(
387 &self,
388 formatter: &mut std::fmt::Formatter<'_>,
389 ) -> std::fmt::Result {
390 formatter.write_str("struct origincloud.support.v1beta1.Case")
391 }
392 fn visit_map<V>(self, mut map_: V) -> std::result::Result<Case, V::Error>
393 where
394 V: serde::de::MapAccess<'de>,
395 {
396 let mut name__ = None;
397 let mut urn__ = None;
398 let mut project__ = None;
399 let mut subject__ = None;
400 let mut description__ = None;
401 let mut contact_email__ = None;
402 let mut state__ = None;
403 let mut creator__ = None;
404 let mut create_time__ = None;
405 let mut update_time__ = None;
406 while let Some(k) = map_.next_key()? {
407 match k {
408 GeneratedField::Name => {
409 if name__.is_some() {
410 return Err(serde::de::Error::duplicate_field("name"));
411 }
412 name__ = Some(map_.next_value()?);
413 }
414 GeneratedField::Urn => {
415 if urn__.is_some() {
416 return Err(serde::de::Error::duplicate_field("urn"));
417 }
418 urn__ = Some(map_.next_value()?);
419 }
420 GeneratedField::Project => {
421 if project__.is_some() {
422 return Err(serde::de::Error::duplicate_field("project"));
423 }
424 project__ = Some(map_.next_value()?);
425 }
426 GeneratedField::Subject => {
427 if subject__.is_some() {
428 return Err(serde::de::Error::duplicate_field("subject"));
429 }
430 subject__ = Some(map_.next_value()?);
431 }
432 GeneratedField::Description => {
433 if description__.is_some() {
434 return Err(
435 serde::de::Error::duplicate_field("description"),
436 );
437 }
438 description__ = Some(map_.next_value()?);
439 }
440 GeneratedField::ContactEmail => {
441 if contact_email__.is_some() {
442 return Err(
443 serde::de::Error::duplicate_field("contactEmail"),
444 );
445 }
446 contact_email__ = Some(map_.next_value()?);
447 }
448 GeneratedField::State => {
449 if state__.is_some() {
450 return Err(serde::de::Error::duplicate_field("state"));
451 }
452 state__ = Some(map_.next_value::<case::State>()? as i32);
453 }
454 GeneratedField::Creator => {
455 if creator__.is_some() {
456 return Err(serde::de::Error::duplicate_field("creator"));
457 }
458 creator__ = Some(map_.next_value()?);
459 }
460 GeneratedField::CreateTime => {
461 if create_time__.is_some() {
462 return Err(serde::de::Error::duplicate_field("createTime"));
463 }
464 create_time__ = map_.next_value()?;
465 }
466 GeneratedField::UpdateTime => {
467 if update_time__.is_some() {
468 return Err(serde::de::Error::duplicate_field("updateTime"));
469 }
470 update_time__ = map_.next_value()?;
471 }
472 GeneratedField::__SkipField__ => {
473 let _ = map_.next_value::<serde::de::IgnoredAny>()?;
474 }
475 }
476 }
477 Ok(Case {
478 name: name__.unwrap_or_default(),
479 urn: urn__.unwrap_or_default(),
480 project: project__.unwrap_or_default(),
481 subject: subject__.unwrap_or_default(),
482 description: description__.unwrap_or_default(),
483 contact_email: contact_email__.unwrap_or_default(),
484 state: state__.unwrap_or_default(),
485 creator: creator__.unwrap_or_default(),
486 create_time: create_time__,
487 update_time: update_time__,
488 })
489 }
490 }
491 deserializer
492 .deserialize_struct(
493 "origincloud.support.v1beta1.Case",
494 FIELDS,
495 GeneratedVisitor,
496 )
497 }
498}
499impl serde::Serialize for case::State {
500 #[allow(deprecated)]
501 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
502 where
503 S: serde::Serializer,
504 {
505 let variant = match self {
506 Self::Unspecified => "STATE_UNSPECIFIED",
507 Self::Open => "OPEN",
508 Self::InProgress => "IN_PROGRESS",
509 Self::Resolved => "RESOLVED",
510 Self::Closed => "CLOSED",
511 };
512 serializer.serialize_str(variant)
513 }
514}
515impl<'de> serde::Deserialize<'de> for case::State {
516 #[allow(deprecated)]
517 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
518 where
519 D: serde::Deserializer<'de>,
520 {
521 const FIELDS: &[&str] = &[
522 "STATE_UNSPECIFIED",
523 "OPEN",
524 "IN_PROGRESS",
525 "RESOLVED",
526 "CLOSED",
527 ];
528 struct GeneratedVisitor;
529 impl serde::de::Visitor<'_> for GeneratedVisitor {
530 type Value = case::State;
531 fn expecting(
532 &self,
533 formatter: &mut std::fmt::Formatter<'_>,
534 ) -> std::fmt::Result {
535 write!(formatter, "expected one of: {:?}", & FIELDS)
536 }
537 fn visit_i64<E>(self, v: i64) -> std::result::Result<Self::Value, E>
538 where
539 E: serde::de::Error,
540 {
541 i32::try_from(v)
542 .ok()
543 .and_then(|x| {
544 x.try_into().ok().or_else(|| Some(case::State::default()))
545 })
546 .ok_or_else(|| {
547 serde::de::Error::invalid_value(
548 serde::de::Unexpected::Signed(v),
549 &self,
550 )
551 })
552 }
553 fn visit_u64<E>(self, v: u64) -> std::result::Result<Self::Value, E>
554 where
555 E: serde::de::Error,
556 {
557 i32::try_from(v)
558 .ok()
559 .and_then(|x| {
560 x.try_into().ok().or_else(|| Some(case::State::default()))
561 })
562 .ok_or_else(|| {
563 serde::de::Error::invalid_value(
564 serde::de::Unexpected::Unsigned(v),
565 &self,
566 )
567 })
568 }
569 fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
570 where
571 E: serde::de::Error,
572 {
573 match value {
574 "STATE_UNSPECIFIED" => Ok(case::State::Unspecified),
575 "OPEN" => Ok(case::State::Open),
576 "IN_PROGRESS" => Ok(case::State::InProgress),
577 "RESOLVED" => Ok(case::State::Resolved),
578 "CLOSED" => Ok(case::State::Closed),
579 _ => Ok(case::State::default()),
580 }
581 }
582 }
583 deserializer.deserialize_any(GeneratedVisitor)
584 }
585}
586impl serde::Serialize for CaseMessage {
587 #[allow(deprecated)]
588 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
589 where
590 S: serde::Serializer,
591 {
592 use serde::ser::SerializeStruct;
593 let mut len = 0;
594 if !self.name.is_empty() {
595 len += 1;
596 }
597 if !self.body.is_empty() {
598 len += 1;
599 }
600 if !self.author.is_empty() {
601 len += 1;
602 }
603 if self.create_time.is_some() {
604 len += 1;
605 }
606 let mut struct_ser = serializer
607 .serialize_struct("origincloud.support.v1beta1.CaseMessage", len)?;
608 if !self.name.is_empty() {
609 struct_ser.serialize_field("name", &self.name)?;
610 }
611 if !self.body.is_empty() {
612 struct_ser.serialize_field("body", &self.body)?;
613 }
614 if !self.author.is_empty() {
615 struct_ser.serialize_field("author", &self.author)?;
616 }
617 if let Some(v) = self.create_time.as_ref() {
618 struct_ser.serialize_field("createTime", v)?;
619 }
620 struct_ser.end()
621 }
622}
623impl<'de> serde::Deserialize<'de> for CaseMessage {
624 #[allow(deprecated)]
625 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
626 where
627 D: serde::Deserializer<'de>,
628 {
629 const FIELDS: &[&str] = &["name", "body", "author", "create_time", "createTime"];
630 #[allow(clippy::enum_variant_names)]
631 enum GeneratedField {
632 Name,
633 Body,
634 Author,
635 CreateTime,
636 __SkipField__,
637 }
638 impl<'de> serde::Deserialize<'de> for GeneratedField {
639 fn deserialize<D>(
640 deserializer: D,
641 ) -> std::result::Result<GeneratedField, D::Error>
642 where
643 D: serde::Deserializer<'de>,
644 {
645 struct GeneratedVisitor;
646 impl serde::de::Visitor<'_> for GeneratedVisitor {
647 type Value = GeneratedField;
648 fn expecting(
649 &self,
650 formatter: &mut std::fmt::Formatter<'_>,
651 ) -> std::fmt::Result {
652 write!(formatter, "expected one of: {:?}", & FIELDS)
653 }
654 #[allow(unused_variables)]
655 fn visit_str<E>(
656 self,
657 value: &str,
658 ) -> std::result::Result<GeneratedField, E>
659 where
660 E: serde::de::Error,
661 {
662 match value {
663 "name" => Ok(GeneratedField::Name),
664 "body" => Ok(GeneratedField::Body),
665 "author" => Ok(GeneratedField::Author),
666 "createTime" | "create_time" => {
667 Ok(GeneratedField::CreateTime)
668 }
669 _ => Ok(GeneratedField::__SkipField__),
670 }
671 }
672 }
673 deserializer.deserialize_identifier(GeneratedVisitor)
674 }
675 }
676 struct GeneratedVisitor;
677 impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
678 type Value = CaseMessage;
679 fn expecting(
680 &self,
681 formatter: &mut std::fmt::Formatter<'_>,
682 ) -> std::fmt::Result {
683 formatter.write_str("struct origincloud.support.v1beta1.CaseMessage")
684 }
685 fn visit_map<V>(
686 self,
687 mut map_: V,
688 ) -> std::result::Result<CaseMessage, V::Error>
689 where
690 V: serde::de::MapAccess<'de>,
691 {
692 let mut name__ = None;
693 let mut body__ = None;
694 let mut author__ = None;
695 let mut create_time__ = None;
696 while let Some(k) = map_.next_key()? {
697 match k {
698 GeneratedField::Name => {
699 if name__.is_some() {
700 return Err(serde::de::Error::duplicate_field("name"));
701 }
702 name__ = Some(map_.next_value()?);
703 }
704 GeneratedField::Body => {
705 if body__.is_some() {
706 return Err(serde::de::Error::duplicate_field("body"));
707 }
708 body__ = Some(map_.next_value()?);
709 }
710 GeneratedField::Author => {
711 if author__.is_some() {
712 return Err(serde::de::Error::duplicate_field("author"));
713 }
714 author__ = Some(map_.next_value()?);
715 }
716 GeneratedField::CreateTime => {
717 if create_time__.is_some() {
718 return Err(serde::de::Error::duplicate_field("createTime"));
719 }
720 create_time__ = map_.next_value()?;
721 }
722 GeneratedField::__SkipField__ => {
723 let _ = map_.next_value::<serde::de::IgnoredAny>()?;
724 }
725 }
726 }
727 Ok(CaseMessage {
728 name: name__.unwrap_or_default(),
729 body: body__.unwrap_or_default(),
730 author: author__.unwrap_or_default(),
731 create_time: create_time__,
732 })
733 }
734 }
735 deserializer
736 .deserialize_struct(
737 "origincloud.support.v1beta1.CaseMessage",
738 FIELDS,
739 GeneratedVisitor,
740 )
741 }
742}
743impl serde::Serialize for CloseCaseRequest {
744 #[allow(deprecated)]
745 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
746 where
747 S: serde::Serializer,
748 {
749 use serde::ser::SerializeStruct;
750 let mut len = 0;
751 if !self.name.is_empty() {
752 len += 1;
753 }
754 let mut struct_ser = serializer
755 .serialize_struct("origincloud.support.v1beta1.CloseCaseRequest", len)?;
756 if !self.name.is_empty() {
757 struct_ser.serialize_field("name", &self.name)?;
758 }
759 struct_ser.end()
760 }
761}
762impl<'de> serde::Deserialize<'de> for CloseCaseRequest {
763 #[allow(deprecated)]
764 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
765 where
766 D: serde::Deserializer<'de>,
767 {
768 const FIELDS: &[&str] = &["name"];
769 #[allow(clippy::enum_variant_names)]
770 enum GeneratedField {
771 Name,
772 __SkipField__,
773 }
774 impl<'de> serde::Deserialize<'de> for GeneratedField {
775 fn deserialize<D>(
776 deserializer: D,
777 ) -> std::result::Result<GeneratedField, D::Error>
778 where
779 D: serde::Deserializer<'de>,
780 {
781 struct GeneratedVisitor;
782 impl serde::de::Visitor<'_> for GeneratedVisitor {
783 type Value = GeneratedField;
784 fn expecting(
785 &self,
786 formatter: &mut std::fmt::Formatter<'_>,
787 ) -> std::fmt::Result {
788 write!(formatter, "expected one of: {:?}", & FIELDS)
789 }
790 #[allow(unused_variables)]
791 fn visit_str<E>(
792 self,
793 value: &str,
794 ) -> std::result::Result<GeneratedField, E>
795 where
796 E: serde::de::Error,
797 {
798 match value {
799 "name" => Ok(GeneratedField::Name),
800 _ => Ok(GeneratedField::__SkipField__),
801 }
802 }
803 }
804 deserializer.deserialize_identifier(GeneratedVisitor)
805 }
806 }
807 struct GeneratedVisitor;
808 impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
809 type Value = CloseCaseRequest;
810 fn expecting(
811 &self,
812 formatter: &mut std::fmt::Formatter<'_>,
813 ) -> std::fmt::Result {
814 formatter
815 .write_str("struct origincloud.support.v1beta1.CloseCaseRequest")
816 }
817 fn visit_map<V>(
818 self,
819 mut map_: V,
820 ) -> std::result::Result<CloseCaseRequest, V::Error>
821 where
822 V: serde::de::MapAccess<'de>,
823 {
824 let mut name__ = None;
825 while let Some(k) = map_.next_key()? {
826 match k {
827 GeneratedField::Name => {
828 if name__.is_some() {
829 return Err(serde::de::Error::duplicate_field("name"));
830 }
831 name__ = Some(map_.next_value()?);
832 }
833 GeneratedField::__SkipField__ => {
834 let _ = map_.next_value::<serde::de::IgnoredAny>()?;
835 }
836 }
837 }
838 Ok(CloseCaseRequest {
839 name: name__.unwrap_or_default(),
840 })
841 }
842 }
843 deserializer
844 .deserialize_struct(
845 "origincloud.support.v1beta1.CloseCaseRequest",
846 FIELDS,
847 GeneratedVisitor,
848 )
849 }
850}
851impl serde::Serialize for CreateCaseMessageRequest {
852 #[allow(deprecated)]
853 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
854 where
855 S: serde::Serializer,
856 {
857 use serde::ser::SerializeStruct;
858 let mut len = 0;
859 if !self.parent.is_empty() {
860 len += 1;
861 }
862 if self.case_message.is_some() {
863 len += 1;
864 }
865 if !self.request_id.is_empty() {
866 len += 1;
867 }
868 let mut struct_ser = serializer
869 .serialize_struct(
870 "origincloud.support.v1beta1.CreateCaseMessageRequest",
871 len,
872 )?;
873 if !self.parent.is_empty() {
874 struct_ser.serialize_field("parent", &self.parent)?;
875 }
876 if let Some(v) = self.case_message.as_ref() {
877 struct_ser.serialize_field("caseMessage", v)?;
878 }
879 if !self.request_id.is_empty() {
880 struct_ser.serialize_field("requestId", &self.request_id)?;
881 }
882 struct_ser.end()
883 }
884}
885impl<'de> serde::Deserialize<'de> for CreateCaseMessageRequest {
886 #[allow(deprecated)]
887 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
888 where
889 D: serde::Deserializer<'de>,
890 {
891 const FIELDS: &[&str] = &[
892 "parent",
893 "case_message",
894 "caseMessage",
895 "request_id",
896 "requestId",
897 ];
898 #[allow(clippy::enum_variant_names)]
899 enum GeneratedField {
900 Parent,
901 CaseMessage,
902 RequestId,
903 __SkipField__,
904 }
905 impl<'de> serde::Deserialize<'de> for GeneratedField {
906 fn deserialize<D>(
907 deserializer: D,
908 ) -> std::result::Result<GeneratedField, D::Error>
909 where
910 D: serde::Deserializer<'de>,
911 {
912 struct GeneratedVisitor;
913 impl serde::de::Visitor<'_> for GeneratedVisitor {
914 type Value = GeneratedField;
915 fn expecting(
916 &self,
917 formatter: &mut std::fmt::Formatter<'_>,
918 ) -> std::fmt::Result {
919 write!(formatter, "expected one of: {:?}", & FIELDS)
920 }
921 #[allow(unused_variables)]
922 fn visit_str<E>(
923 self,
924 value: &str,
925 ) -> std::result::Result<GeneratedField, E>
926 where
927 E: serde::de::Error,
928 {
929 match value {
930 "parent" => Ok(GeneratedField::Parent),
931 "caseMessage" | "case_message" => {
932 Ok(GeneratedField::CaseMessage)
933 }
934 "requestId" | "request_id" => Ok(GeneratedField::RequestId),
935 _ => Ok(GeneratedField::__SkipField__),
936 }
937 }
938 }
939 deserializer.deserialize_identifier(GeneratedVisitor)
940 }
941 }
942 struct GeneratedVisitor;
943 impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
944 type Value = CreateCaseMessageRequest;
945 fn expecting(
946 &self,
947 formatter: &mut std::fmt::Formatter<'_>,
948 ) -> std::fmt::Result {
949 formatter
950 .write_str(
951 "struct origincloud.support.v1beta1.CreateCaseMessageRequest",
952 )
953 }
954 fn visit_map<V>(
955 self,
956 mut map_: V,
957 ) -> std::result::Result<CreateCaseMessageRequest, V::Error>
958 where
959 V: serde::de::MapAccess<'de>,
960 {
961 let mut parent__ = None;
962 let mut case_message__ = None;
963 let mut request_id__ = None;
964 while let Some(k) = map_.next_key()? {
965 match k {
966 GeneratedField::Parent => {
967 if parent__.is_some() {
968 return Err(serde::de::Error::duplicate_field("parent"));
969 }
970 parent__ = Some(map_.next_value()?);
971 }
972 GeneratedField::CaseMessage => {
973 if case_message__.is_some() {
974 return Err(
975 serde::de::Error::duplicate_field("caseMessage"),
976 );
977 }
978 case_message__ = map_.next_value()?;
979 }
980 GeneratedField::RequestId => {
981 if request_id__.is_some() {
982 return Err(serde::de::Error::duplicate_field("requestId"));
983 }
984 request_id__ = Some(map_.next_value()?);
985 }
986 GeneratedField::__SkipField__ => {
987 let _ = map_.next_value::<serde::de::IgnoredAny>()?;
988 }
989 }
990 }
991 Ok(CreateCaseMessageRequest {
992 parent: parent__.unwrap_or_default(),
993 case_message: case_message__,
994 request_id: request_id__.unwrap_or_default(),
995 })
996 }
997 }
998 deserializer
999 .deserialize_struct(
1000 "origincloud.support.v1beta1.CreateCaseMessageRequest",
1001 FIELDS,
1002 GeneratedVisitor,
1003 )
1004 }
1005}
1006impl serde::Serialize for CreateCaseRequest {
1007 #[allow(deprecated)]
1008 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
1009 where
1010 S: serde::Serializer,
1011 {
1012 use serde::ser::SerializeStruct;
1013 let mut len = 0;
1014 if !self.parent.is_empty() {
1015 len += 1;
1016 }
1017 if self.case.is_some() {
1018 len += 1;
1019 }
1020 if !self.request_id.is_empty() {
1021 len += 1;
1022 }
1023 let mut struct_ser = serializer
1024 .serialize_struct("origincloud.support.v1beta1.CreateCaseRequest", len)?;
1025 if !self.parent.is_empty() {
1026 struct_ser.serialize_field("parent", &self.parent)?;
1027 }
1028 if let Some(v) = self.case.as_ref() {
1029 struct_ser.serialize_field("case", v)?;
1030 }
1031 if !self.request_id.is_empty() {
1032 struct_ser.serialize_field("requestId", &self.request_id)?;
1033 }
1034 struct_ser.end()
1035 }
1036}
1037impl<'de> serde::Deserialize<'de> for CreateCaseRequest {
1038 #[allow(deprecated)]
1039 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
1040 where
1041 D: serde::Deserializer<'de>,
1042 {
1043 const FIELDS: &[&str] = &["parent", "case", "request_id", "requestId"];
1044 #[allow(clippy::enum_variant_names)]
1045 enum GeneratedField {
1046 Parent,
1047 Case,
1048 RequestId,
1049 __SkipField__,
1050 }
1051 impl<'de> serde::Deserialize<'de> for GeneratedField {
1052 fn deserialize<D>(
1053 deserializer: D,
1054 ) -> std::result::Result<GeneratedField, D::Error>
1055 where
1056 D: serde::Deserializer<'de>,
1057 {
1058 struct GeneratedVisitor;
1059 impl serde::de::Visitor<'_> for GeneratedVisitor {
1060 type Value = GeneratedField;
1061 fn expecting(
1062 &self,
1063 formatter: &mut std::fmt::Formatter<'_>,
1064 ) -> std::fmt::Result {
1065 write!(formatter, "expected one of: {:?}", & FIELDS)
1066 }
1067 #[allow(unused_variables)]
1068 fn visit_str<E>(
1069 self,
1070 value: &str,
1071 ) -> std::result::Result<GeneratedField, E>
1072 where
1073 E: serde::de::Error,
1074 {
1075 match value {
1076 "parent" => Ok(GeneratedField::Parent),
1077 "case" => Ok(GeneratedField::Case),
1078 "requestId" | "request_id" => Ok(GeneratedField::RequestId),
1079 _ => Ok(GeneratedField::__SkipField__),
1080 }
1081 }
1082 }
1083 deserializer.deserialize_identifier(GeneratedVisitor)
1084 }
1085 }
1086 struct GeneratedVisitor;
1087 impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
1088 type Value = CreateCaseRequest;
1089 fn expecting(
1090 &self,
1091 formatter: &mut std::fmt::Formatter<'_>,
1092 ) -> std::fmt::Result {
1093 formatter
1094 .write_str("struct origincloud.support.v1beta1.CreateCaseRequest")
1095 }
1096 fn visit_map<V>(
1097 self,
1098 mut map_: V,
1099 ) -> std::result::Result<CreateCaseRequest, V::Error>
1100 where
1101 V: serde::de::MapAccess<'de>,
1102 {
1103 let mut parent__ = None;
1104 let mut case__ = None;
1105 let mut request_id__ = None;
1106 while let Some(k) = map_.next_key()? {
1107 match k {
1108 GeneratedField::Parent => {
1109 if parent__.is_some() {
1110 return Err(serde::de::Error::duplicate_field("parent"));
1111 }
1112 parent__ = Some(map_.next_value()?);
1113 }
1114 GeneratedField::Case => {
1115 if case__.is_some() {
1116 return Err(serde::de::Error::duplicate_field("case"));
1117 }
1118 case__ = map_.next_value()?;
1119 }
1120 GeneratedField::RequestId => {
1121 if request_id__.is_some() {
1122 return Err(serde::de::Error::duplicate_field("requestId"));
1123 }
1124 request_id__ = Some(map_.next_value()?);
1125 }
1126 GeneratedField::__SkipField__ => {
1127 let _ = map_.next_value::<serde::de::IgnoredAny>()?;
1128 }
1129 }
1130 }
1131 Ok(CreateCaseRequest {
1132 parent: parent__.unwrap_or_default(),
1133 case: case__,
1134 request_id: request_id__.unwrap_or_default(),
1135 })
1136 }
1137 }
1138 deserializer
1139 .deserialize_struct(
1140 "origincloud.support.v1beta1.CreateCaseRequest",
1141 FIELDS,
1142 GeneratedVisitor,
1143 )
1144 }
1145}
1146impl serde::Serialize for GetCaseMessageRequest {
1147 #[allow(deprecated)]
1148 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
1149 where
1150 S: serde::Serializer,
1151 {
1152 use serde::ser::SerializeStruct;
1153 let mut len = 0;
1154 if !self.name.is_empty() {
1155 len += 1;
1156 }
1157 let mut struct_ser = serializer
1158 .serialize_struct("origincloud.support.v1beta1.GetCaseMessageRequest", len)?;
1159 if !self.name.is_empty() {
1160 struct_ser.serialize_field("name", &self.name)?;
1161 }
1162 struct_ser.end()
1163 }
1164}
1165impl<'de> serde::Deserialize<'de> for GetCaseMessageRequest {
1166 #[allow(deprecated)]
1167 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
1168 where
1169 D: serde::Deserializer<'de>,
1170 {
1171 const FIELDS: &[&str] = &["name"];
1172 #[allow(clippy::enum_variant_names)]
1173 enum GeneratedField {
1174 Name,
1175 __SkipField__,
1176 }
1177 impl<'de> serde::Deserialize<'de> for GeneratedField {
1178 fn deserialize<D>(
1179 deserializer: D,
1180 ) -> std::result::Result<GeneratedField, D::Error>
1181 where
1182 D: serde::Deserializer<'de>,
1183 {
1184 struct GeneratedVisitor;
1185 impl serde::de::Visitor<'_> for GeneratedVisitor {
1186 type Value = GeneratedField;
1187 fn expecting(
1188 &self,
1189 formatter: &mut std::fmt::Formatter<'_>,
1190 ) -> std::fmt::Result {
1191 write!(formatter, "expected one of: {:?}", & FIELDS)
1192 }
1193 #[allow(unused_variables)]
1194 fn visit_str<E>(
1195 self,
1196 value: &str,
1197 ) -> std::result::Result<GeneratedField, E>
1198 where
1199 E: serde::de::Error,
1200 {
1201 match value {
1202 "name" => Ok(GeneratedField::Name),
1203 _ => Ok(GeneratedField::__SkipField__),
1204 }
1205 }
1206 }
1207 deserializer.deserialize_identifier(GeneratedVisitor)
1208 }
1209 }
1210 struct GeneratedVisitor;
1211 impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
1212 type Value = GetCaseMessageRequest;
1213 fn expecting(
1214 &self,
1215 formatter: &mut std::fmt::Formatter<'_>,
1216 ) -> std::fmt::Result {
1217 formatter
1218 .write_str(
1219 "struct origincloud.support.v1beta1.GetCaseMessageRequest",
1220 )
1221 }
1222 fn visit_map<V>(
1223 self,
1224 mut map_: V,
1225 ) -> std::result::Result<GetCaseMessageRequest, V::Error>
1226 where
1227 V: serde::de::MapAccess<'de>,
1228 {
1229 let mut name__ = None;
1230 while let Some(k) = map_.next_key()? {
1231 match k {
1232 GeneratedField::Name => {
1233 if name__.is_some() {
1234 return Err(serde::de::Error::duplicate_field("name"));
1235 }
1236 name__ = Some(map_.next_value()?);
1237 }
1238 GeneratedField::__SkipField__ => {
1239 let _ = map_.next_value::<serde::de::IgnoredAny>()?;
1240 }
1241 }
1242 }
1243 Ok(GetCaseMessageRequest {
1244 name: name__.unwrap_or_default(),
1245 })
1246 }
1247 }
1248 deserializer
1249 .deserialize_struct(
1250 "origincloud.support.v1beta1.GetCaseMessageRequest",
1251 FIELDS,
1252 GeneratedVisitor,
1253 )
1254 }
1255}
1256impl serde::Serialize for GetCaseRequest {
1257 #[allow(deprecated)]
1258 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
1259 where
1260 S: serde::Serializer,
1261 {
1262 use serde::ser::SerializeStruct;
1263 let mut len = 0;
1264 if !self.name.is_empty() {
1265 len += 1;
1266 }
1267 let mut struct_ser = serializer
1268 .serialize_struct("origincloud.support.v1beta1.GetCaseRequest", len)?;
1269 if !self.name.is_empty() {
1270 struct_ser.serialize_field("name", &self.name)?;
1271 }
1272 struct_ser.end()
1273 }
1274}
1275impl<'de> serde::Deserialize<'de> for GetCaseRequest {
1276 #[allow(deprecated)]
1277 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
1278 where
1279 D: serde::Deserializer<'de>,
1280 {
1281 const FIELDS: &[&str] = &["name"];
1282 #[allow(clippy::enum_variant_names)]
1283 enum GeneratedField {
1284 Name,
1285 __SkipField__,
1286 }
1287 impl<'de> serde::Deserialize<'de> for GeneratedField {
1288 fn deserialize<D>(
1289 deserializer: D,
1290 ) -> std::result::Result<GeneratedField, D::Error>
1291 where
1292 D: serde::Deserializer<'de>,
1293 {
1294 struct GeneratedVisitor;
1295 impl serde::de::Visitor<'_> for GeneratedVisitor {
1296 type Value = GeneratedField;
1297 fn expecting(
1298 &self,
1299 formatter: &mut std::fmt::Formatter<'_>,
1300 ) -> std::fmt::Result {
1301 write!(formatter, "expected one of: {:?}", & FIELDS)
1302 }
1303 #[allow(unused_variables)]
1304 fn visit_str<E>(
1305 self,
1306 value: &str,
1307 ) -> std::result::Result<GeneratedField, E>
1308 where
1309 E: serde::de::Error,
1310 {
1311 match value {
1312 "name" => Ok(GeneratedField::Name),
1313 _ => Ok(GeneratedField::__SkipField__),
1314 }
1315 }
1316 }
1317 deserializer.deserialize_identifier(GeneratedVisitor)
1318 }
1319 }
1320 struct GeneratedVisitor;
1321 impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
1322 type Value = GetCaseRequest;
1323 fn expecting(
1324 &self,
1325 formatter: &mut std::fmt::Formatter<'_>,
1326 ) -> std::fmt::Result {
1327 formatter.write_str("struct origincloud.support.v1beta1.GetCaseRequest")
1328 }
1329 fn visit_map<V>(
1330 self,
1331 mut map_: V,
1332 ) -> std::result::Result<GetCaseRequest, V::Error>
1333 where
1334 V: serde::de::MapAccess<'de>,
1335 {
1336 let mut name__ = None;
1337 while let Some(k) = map_.next_key()? {
1338 match k {
1339 GeneratedField::Name => {
1340 if name__.is_some() {
1341 return Err(serde::de::Error::duplicate_field("name"));
1342 }
1343 name__ = Some(map_.next_value()?);
1344 }
1345 GeneratedField::__SkipField__ => {
1346 let _ = map_.next_value::<serde::de::IgnoredAny>()?;
1347 }
1348 }
1349 }
1350 Ok(GetCaseRequest {
1351 name: name__.unwrap_or_default(),
1352 })
1353 }
1354 }
1355 deserializer
1356 .deserialize_struct(
1357 "origincloud.support.v1beta1.GetCaseRequest",
1358 FIELDS,
1359 GeneratedVisitor,
1360 )
1361 }
1362}
1363impl serde::Serialize for ListCaseMessagesRequest {
1364 #[allow(deprecated)]
1365 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
1366 where
1367 S: serde::Serializer,
1368 {
1369 use serde::ser::SerializeStruct;
1370 let mut len = 0;
1371 if !self.parent.is_empty() {
1372 len += 1;
1373 }
1374 if self.page_size != 0 {
1375 len += 1;
1376 }
1377 if !self.page_token.is_empty() {
1378 len += 1;
1379 }
1380 let mut struct_ser = serializer
1381 .serialize_struct(
1382 "origincloud.support.v1beta1.ListCaseMessagesRequest",
1383 len,
1384 )?;
1385 if !self.parent.is_empty() {
1386 struct_ser.serialize_field("parent", &self.parent)?;
1387 }
1388 if self.page_size != 0 {
1389 struct_ser.serialize_field("pageSize", &self.page_size)?;
1390 }
1391 if !self.page_token.is_empty() {
1392 struct_ser.serialize_field("pageToken", &self.page_token)?;
1393 }
1394 struct_ser.end()
1395 }
1396}
1397impl<'de> serde::Deserialize<'de> for ListCaseMessagesRequest {
1398 #[allow(deprecated)]
1399 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
1400 where
1401 D: serde::Deserializer<'de>,
1402 {
1403 const FIELDS: &[&str] = &[
1404 "parent",
1405 "page_size",
1406 "pageSize",
1407 "page_token",
1408 "pageToken",
1409 ];
1410 #[allow(clippy::enum_variant_names)]
1411 enum GeneratedField {
1412 Parent,
1413 PageSize,
1414 PageToken,
1415 __SkipField__,
1416 }
1417 impl<'de> serde::Deserialize<'de> for GeneratedField {
1418 fn deserialize<D>(
1419 deserializer: D,
1420 ) -> std::result::Result<GeneratedField, D::Error>
1421 where
1422 D: serde::Deserializer<'de>,
1423 {
1424 struct GeneratedVisitor;
1425 impl serde::de::Visitor<'_> for GeneratedVisitor {
1426 type Value = GeneratedField;
1427 fn expecting(
1428 &self,
1429 formatter: &mut std::fmt::Formatter<'_>,
1430 ) -> std::fmt::Result {
1431 write!(formatter, "expected one of: {:?}", & FIELDS)
1432 }
1433 #[allow(unused_variables)]
1434 fn visit_str<E>(
1435 self,
1436 value: &str,
1437 ) -> std::result::Result<GeneratedField, E>
1438 where
1439 E: serde::de::Error,
1440 {
1441 match value {
1442 "parent" => Ok(GeneratedField::Parent),
1443 "pageSize" | "page_size" => Ok(GeneratedField::PageSize),
1444 "pageToken" | "page_token" => Ok(GeneratedField::PageToken),
1445 _ => Ok(GeneratedField::__SkipField__),
1446 }
1447 }
1448 }
1449 deserializer.deserialize_identifier(GeneratedVisitor)
1450 }
1451 }
1452 struct GeneratedVisitor;
1453 impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
1454 type Value = ListCaseMessagesRequest;
1455 fn expecting(
1456 &self,
1457 formatter: &mut std::fmt::Formatter<'_>,
1458 ) -> std::fmt::Result {
1459 formatter
1460 .write_str(
1461 "struct origincloud.support.v1beta1.ListCaseMessagesRequest",
1462 )
1463 }
1464 fn visit_map<V>(
1465 self,
1466 mut map_: V,
1467 ) -> std::result::Result<ListCaseMessagesRequest, V::Error>
1468 where
1469 V: serde::de::MapAccess<'de>,
1470 {
1471 let mut parent__ = None;
1472 let mut page_size__ = None;
1473 let mut page_token__ = None;
1474 while let Some(k) = map_.next_key()? {
1475 match k {
1476 GeneratedField::Parent => {
1477 if parent__.is_some() {
1478 return Err(serde::de::Error::duplicate_field("parent"));
1479 }
1480 parent__ = Some(map_.next_value()?);
1481 }
1482 GeneratedField::PageSize => {
1483 if page_size__.is_some() {
1484 return Err(serde::de::Error::duplicate_field("pageSize"));
1485 }
1486 page_size__ = Some(
1487 map_
1488 .next_value::<::pbjson::private::NumberDeserialize<_>>()?
1489 .0,
1490 );
1491 }
1492 GeneratedField::PageToken => {
1493 if page_token__.is_some() {
1494 return Err(serde::de::Error::duplicate_field("pageToken"));
1495 }
1496 page_token__ = Some(map_.next_value()?);
1497 }
1498 GeneratedField::__SkipField__ => {
1499 let _ = map_.next_value::<serde::de::IgnoredAny>()?;
1500 }
1501 }
1502 }
1503 Ok(ListCaseMessagesRequest {
1504 parent: parent__.unwrap_or_default(),
1505 page_size: page_size__.unwrap_or_default(),
1506 page_token: page_token__.unwrap_or_default(),
1507 })
1508 }
1509 }
1510 deserializer
1511 .deserialize_struct(
1512 "origincloud.support.v1beta1.ListCaseMessagesRequest",
1513 FIELDS,
1514 GeneratedVisitor,
1515 )
1516 }
1517}
1518impl serde::Serialize for ListCaseMessagesResponse {
1519 #[allow(deprecated)]
1520 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
1521 where
1522 S: serde::Serializer,
1523 {
1524 use serde::ser::SerializeStruct;
1525 let mut len = 0;
1526 if !self.case_messages.is_empty() {
1527 len += 1;
1528 }
1529 if !self.next_page_token.is_empty() {
1530 len += 1;
1531 }
1532 let mut struct_ser = serializer
1533 .serialize_struct(
1534 "origincloud.support.v1beta1.ListCaseMessagesResponse",
1535 len,
1536 )?;
1537 if !self.case_messages.is_empty() {
1538 struct_ser.serialize_field("caseMessages", &self.case_messages)?;
1539 }
1540 if !self.next_page_token.is_empty() {
1541 struct_ser.serialize_field("nextPageToken", &self.next_page_token)?;
1542 }
1543 struct_ser.end()
1544 }
1545}
1546impl<'de> serde::Deserialize<'de> for ListCaseMessagesResponse {
1547 #[allow(deprecated)]
1548 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
1549 where
1550 D: serde::Deserializer<'de>,
1551 {
1552 const FIELDS: &[&str] = &[
1553 "case_messages",
1554 "caseMessages",
1555 "next_page_token",
1556 "nextPageToken",
1557 ];
1558 #[allow(clippy::enum_variant_names)]
1559 enum GeneratedField {
1560 CaseMessages,
1561 NextPageToken,
1562 __SkipField__,
1563 }
1564 impl<'de> serde::Deserialize<'de> for GeneratedField {
1565 fn deserialize<D>(
1566 deserializer: D,
1567 ) -> std::result::Result<GeneratedField, D::Error>
1568 where
1569 D: serde::Deserializer<'de>,
1570 {
1571 struct GeneratedVisitor;
1572 impl serde::de::Visitor<'_> for GeneratedVisitor {
1573 type Value = GeneratedField;
1574 fn expecting(
1575 &self,
1576 formatter: &mut std::fmt::Formatter<'_>,
1577 ) -> std::fmt::Result {
1578 write!(formatter, "expected one of: {:?}", & FIELDS)
1579 }
1580 #[allow(unused_variables)]
1581 fn visit_str<E>(
1582 self,
1583 value: &str,
1584 ) -> std::result::Result<GeneratedField, E>
1585 where
1586 E: serde::de::Error,
1587 {
1588 match value {
1589 "caseMessages" | "case_messages" => {
1590 Ok(GeneratedField::CaseMessages)
1591 }
1592 "nextPageToken" | "next_page_token" => {
1593 Ok(GeneratedField::NextPageToken)
1594 }
1595 _ => Ok(GeneratedField::__SkipField__),
1596 }
1597 }
1598 }
1599 deserializer.deserialize_identifier(GeneratedVisitor)
1600 }
1601 }
1602 struct GeneratedVisitor;
1603 impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
1604 type Value = ListCaseMessagesResponse;
1605 fn expecting(
1606 &self,
1607 formatter: &mut std::fmt::Formatter<'_>,
1608 ) -> std::fmt::Result {
1609 formatter
1610 .write_str(
1611 "struct origincloud.support.v1beta1.ListCaseMessagesResponse",
1612 )
1613 }
1614 fn visit_map<V>(
1615 self,
1616 mut map_: V,
1617 ) -> std::result::Result<ListCaseMessagesResponse, V::Error>
1618 where
1619 V: serde::de::MapAccess<'de>,
1620 {
1621 let mut case_messages__ = None;
1622 let mut next_page_token__ = None;
1623 while let Some(k) = map_.next_key()? {
1624 match k {
1625 GeneratedField::CaseMessages => {
1626 if case_messages__.is_some() {
1627 return Err(
1628 serde::de::Error::duplicate_field("caseMessages"),
1629 );
1630 }
1631 case_messages__ = Some(map_.next_value()?);
1632 }
1633 GeneratedField::NextPageToken => {
1634 if next_page_token__.is_some() {
1635 return Err(
1636 serde::de::Error::duplicate_field("nextPageToken"),
1637 );
1638 }
1639 next_page_token__ = Some(map_.next_value()?);
1640 }
1641 GeneratedField::__SkipField__ => {
1642 let _ = map_.next_value::<serde::de::IgnoredAny>()?;
1643 }
1644 }
1645 }
1646 Ok(ListCaseMessagesResponse {
1647 case_messages: case_messages__.unwrap_or_default(),
1648 next_page_token: next_page_token__.unwrap_or_default(),
1649 })
1650 }
1651 }
1652 deserializer
1653 .deserialize_struct(
1654 "origincloud.support.v1beta1.ListCaseMessagesResponse",
1655 FIELDS,
1656 GeneratedVisitor,
1657 )
1658 }
1659}
1660impl serde::Serialize for ListCasesRequest {
1661 #[allow(deprecated)]
1662 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
1663 where
1664 S: serde::Serializer,
1665 {
1666 use serde::ser::SerializeStruct;
1667 let mut len = 0;
1668 if !self.parent.is_empty() {
1669 len += 1;
1670 }
1671 if self.page_size != 0 {
1672 len += 1;
1673 }
1674 if !self.page_token.is_empty() {
1675 len += 1;
1676 }
1677 let mut struct_ser = serializer
1678 .serialize_struct("origincloud.support.v1beta1.ListCasesRequest", len)?;
1679 if !self.parent.is_empty() {
1680 struct_ser.serialize_field("parent", &self.parent)?;
1681 }
1682 if self.page_size != 0 {
1683 struct_ser.serialize_field("pageSize", &self.page_size)?;
1684 }
1685 if !self.page_token.is_empty() {
1686 struct_ser.serialize_field("pageToken", &self.page_token)?;
1687 }
1688 struct_ser.end()
1689 }
1690}
1691impl<'de> serde::Deserialize<'de> for ListCasesRequest {
1692 #[allow(deprecated)]
1693 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
1694 where
1695 D: serde::Deserializer<'de>,
1696 {
1697 const FIELDS: &[&str] = &[
1698 "parent",
1699 "page_size",
1700 "pageSize",
1701 "page_token",
1702 "pageToken",
1703 ];
1704 #[allow(clippy::enum_variant_names)]
1705 enum GeneratedField {
1706 Parent,
1707 PageSize,
1708 PageToken,
1709 __SkipField__,
1710 }
1711 impl<'de> serde::Deserialize<'de> for GeneratedField {
1712 fn deserialize<D>(
1713 deserializer: D,
1714 ) -> std::result::Result<GeneratedField, D::Error>
1715 where
1716 D: serde::Deserializer<'de>,
1717 {
1718 struct GeneratedVisitor;
1719 impl serde::de::Visitor<'_> for GeneratedVisitor {
1720 type Value = GeneratedField;
1721 fn expecting(
1722 &self,
1723 formatter: &mut std::fmt::Formatter<'_>,
1724 ) -> std::fmt::Result {
1725 write!(formatter, "expected one of: {:?}", & FIELDS)
1726 }
1727 #[allow(unused_variables)]
1728 fn visit_str<E>(
1729 self,
1730 value: &str,
1731 ) -> std::result::Result<GeneratedField, E>
1732 where
1733 E: serde::de::Error,
1734 {
1735 match value {
1736 "parent" => Ok(GeneratedField::Parent),
1737 "pageSize" | "page_size" => Ok(GeneratedField::PageSize),
1738 "pageToken" | "page_token" => Ok(GeneratedField::PageToken),
1739 _ => Ok(GeneratedField::__SkipField__),
1740 }
1741 }
1742 }
1743 deserializer.deserialize_identifier(GeneratedVisitor)
1744 }
1745 }
1746 struct GeneratedVisitor;
1747 impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
1748 type Value = ListCasesRequest;
1749 fn expecting(
1750 &self,
1751 formatter: &mut std::fmt::Formatter<'_>,
1752 ) -> std::fmt::Result {
1753 formatter
1754 .write_str("struct origincloud.support.v1beta1.ListCasesRequest")
1755 }
1756 fn visit_map<V>(
1757 self,
1758 mut map_: V,
1759 ) -> std::result::Result<ListCasesRequest, V::Error>
1760 where
1761 V: serde::de::MapAccess<'de>,
1762 {
1763 let mut parent__ = None;
1764 let mut page_size__ = None;
1765 let mut page_token__ = None;
1766 while let Some(k) = map_.next_key()? {
1767 match k {
1768 GeneratedField::Parent => {
1769 if parent__.is_some() {
1770 return Err(serde::de::Error::duplicate_field("parent"));
1771 }
1772 parent__ = Some(map_.next_value()?);
1773 }
1774 GeneratedField::PageSize => {
1775 if page_size__.is_some() {
1776 return Err(serde::de::Error::duplicate_field("pageSize"));
1777 }
1778 page_size__ = Some(
1779 map_
1780 .next_value::<::pbjson::private::NumberDeserialize<_>>()?
1781 .0,
1782 );
1783 }
1784 GeneratedField::PageToken => {
1785 if page_token__.is_some() {
1786 return Err(serde::de::Error::duplicate_field("pageToken"));
1787 }
1788 page_token__ = Some(map_.next_value()?);
1789 }
1790 GeneratedField::__SkipField__ => {
1791 let _ = map_.next_value::<serde::de::IgnoredAny>()?;
1792 }
1793 }
1794 }
1795 Ok(ListCasesRequest {
1796 parent: parent__.unwrap_or_default(),
1797 page_size: page_size__.unwrap_or_default(),
1798 page_token: page_token__.unwrap_or_default(),
1799 })
1800 }
1801 }
1802 deserializer
1803 .deserialize_struct(
1804 "origincloud.support.v1beta1.ListCasesRequest",
1805 FIELDS,
1806 GeneratedVisitor,
1807 )
1808 }
1809}
1810impl serde::Serialize for ListCasesResponse {
1811 #[allow(deprecated)]
1812 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
1813 where
1814 S: serde::Serializer,
1815 {
1816 use serde::ser::SerializeStruct;
1817 let mut len = 0;
1818 if !self.cases.is_empty() {
1819 len += 1;
1820 }
1821 if !self.next_page_token.is_empty() {
1822 len += 1;
1823 }
1824 let mut struct_ser = serializer
1825 .serialize_struct("origincloud.support.v1beta1.ListCasesResponse", len)?;
1826 if !self.cases.is_empty() {
1827 struct_ser.serialize_field("cases", &self.cases)?;
1828 }
1829 if !self.next_page_token.is_empty() {
1830 struct_ser.serialize_field("nextPageToken", &self.next_page_token)?;
1831 }
1832 struct_ser.end()
1833 }
1834}
1835impl<'de> serde::Deserialize<'de> for ListCasesResponse {
1836 #[allow(deprecated)]
1837 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
1838 where
1839 D: serde::Deserializer<'de>,
1840 {
1841 const FIELDS: &[&str] = &["cases", "next_page_token", "nextPageToken"];
1842 #[allow(clippy::enum_variant_names)]
1843 enum GeneratedField {
1844 Cases,
1845 NextPageToken,
1846 __SkipField__,
1847 }
1848 impl<'de> serde::Deserialize<'de> for GeneratedField {
1849 fn deserialize<D>(
1850 deserializer: D,
1851 ) -> std::result::Result<GeneratedField, D::Error>
1852 where
1853 D: serde::Deserializer<'de>,
1854 {
1855 struct GeneratedVisitor;
1856 impl serde::de::Visitor<'_> for GeneratedVisitor {
1857 type Value = GeneratedField;
1858 fn expecting(
1859 &self,
1860 formatter: &mut std::fmt::Formatter<'_>,
1861 ) -> std::fmt::Result {
1862 write!(formatter, "expected one of: {:?}", & FIELDS)
1863 }
1864 #[allow(unused_variables)]
1865 fn visit_str<E>(
1866 self,
1867 value: &str,
1868 ) -> std::result::Result<GeneratedField, E>
1869 where
1870 E: serde::de::Error,
1871 {
1872 match value {
1873 "cases" => Ok(GeneratedField::Cases),
1874 "nextPageToken" | "next_page_token" => {
1875 Ok(GeneratedField::NextPageToken)
1876 }
1877 _ => Ok(GeneratedField::__SkipField__),
1878 }
1879 }
1880 }
1881 deserializer.deserialize_identifier(GeneratedVisitor)
1882 }
1883 }
1884 struct GeneratedVisitor;
1885 impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
1886 type Value = ListCasesResponse;
1887 fn expecting(
1888 &self,
1889 formatter: &mut std::fmt::Formatter<'_>,
1890 ) -> std::fmt::Result {
1891 formatter
1892 .write_str("struct origincloud.support.v1beta1.ListCasesResponse")
1893 }
1894 fn visit_map<V>(
1895 self,
1896 mut map_: V,
1897 ) -> std::result::Result<ListCasesResponse, V::Error>
1898 where
1899 V: serde::de::MapAccess<'de>,
1900 {
1901 let mut cases__ = None;
1902 let mut next_page_token__ = None;
1903 while let Some(k) = map_.next_key()? {
1904 match k {
1905 GeneratedField::Cases => {
1906 if cases__.is_some() {
1907 return Err(serde::de::Error::duplicate_field("cases"));
1908 }
1909 cases__ = Some(map_.next_value()?);
1910 }
1911 GeneratedField::NextPageToken => {
1912 if next_page_token__.is_some() {
1913 return Err(
1914 serde::de::Error::duplicate_field("nextPageToken"),
1915 );
1916 }
1917 next_page_token__ = Some(map_.next_value()?);
1918 }
1919 GeneratedField::__SkipField__ => {
1920 let _ = map_.next_value::<serde::de::IgnoredAny>()?;
1921 }
1922 }
1923 }
1924 Ok(ListCasesResponse {
1925 cases: cases__.unwrap_or_default(),
1926 next_page_token: next_page_token__.unwrap_or_default(),
1927 })
1928 }
1929 }
1930 deserializer
1931 .deserialize_struct(
1932 "origincloud.support.v1beta1.ListCasesResponse",
1933 FIELDS,
1934 GeneratedVisitor,
1935 )
1936 }
1937}
1938impl serde::Serialize for ReopenCaseRequest {
1939 #[allow(deprecated)]
1940 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
1941 where
1942 S: serde::Serializer,
1943 {
1944 use serde::ser::SerializeStruct;
1945 let mut len = 0;
1946 if !self.name.is_empty() {
1947 len += 1;
1948 }
1949 let mut struct_ser = serializer
1950 .serialize_struct("origincloud.support.v1beta1.ReopenCaseRequest", len)?;
1951 if !self.name.is_empty() {
1952 struct_ser.serialize_field("name", &self.name)?;
1953 }
1954 struct_ser.end()
1955 }
1956}
1957impl<'de> serde::Deserialize<'de> for ReopenCaseRequest {
1958 #[allow(deprecated)]
1959 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
1960 where
1961 D: serde::Deserializer<'de>,
1962 {
1963 const FIELDS: &[&str] = &["name"];
1964 #[allow(clippy::enum_variant_names)]
1965 enum GeneratedField {
1966 Name,
1967 __SkipField__,
1968 }
1969 impl<'de> serde::Deserialize<'de> for GeneratedField {
1970 fn deserialize<D>(
1971 deserializer: D,
1972 ) -> std::result::Result<GeneratedField, D::Error>
1973 where
1974 D: serde::Deserializer<'de>,
1975 {
1976 struct GeneratedVisitor;
1977 impl serde::de::Visitor<'_> for GeneratedVisitor {
1978 type Value = GeneratedField;
1979 fn expecting(
1980 &self,
1981 formatter: &mut std::fmt::Formatter<'_>,
1982 ) -> std::fmt::Result {
1983 write!(formatter, "expected one of: {:?}", & FIELDS)
1984 }
1985 #[allow(unused_variables)]
1986 fn visit_str<E>(
1987 self,
1988 value: &str,
1989 ) -> std::result::Result<GeneratedField, E>
1990 where
1991 E: serde::de::Error,
1992 {
1993 match value {
1994 "name" => Ok(GeneratedField::Name),
1995 _ => Ok(GeneratedField::__SkipField__),
1996 }
1997 }
1998 }
1999 deserializer.deserialize_identifier(GeneratedVisitor)
2000 }
2001 }
2002 struct GeneratedVisitor;
2003 impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
2004 type Value = ReopenCaseRequest;
2005 fn expecting(
2006 &self,
2007 formatter: &mut std::fmt::Formatter<'_>,
2008 ) -> std::fmt::Result {
2009 formatter
2010 .write_str("struct origincloud.support.v1beta1.ReopenCaseRequest")
2011 }
2012 fn visit_map<V>(
2013 self,
2014 mut map_: V,
2015 ) -> std::result::Result<ReopenCaseRequest, V::Error>
2016 where
2017 V: serde::de::MapAccess<'de>,
2018 {
2019 let mut name__ = None;
2020 while let Some(k) = map_.next_key()? {
2021 match k {
2022 GeneratedField::Name => {
2023 if name__.is_some() {
2024 return Err(serde::de::Error::duplicate_field("name"));
2025 }
2026 name__ = Some(map_.next_value()?);
2027 }
2028 GeneratedField::__SkipField__ => {
2029 let _ = map_.next_value::<serde::de::IgnoredAny>()?;
2030 }
2031 }
2032 }
2033 Ok(ReopenCaseRequest {
2034 name: name__.unwrap_or_default(),
2035 })
2036 }
2037 }
2038 deserializer
2039 .deserialize_struct(
2040 "origincloud.support.v1beta1.ReopenCaseRequest",
2041 FIELDS,
2042 GeneratedVisitor,
2043 )
2044 }
2045}
2046#[derive(Clone, Debug)]
2051pub struct CaseClient {
2052 service: ::origincloud_core::Service,
2053}
2054impl CaseClient {
2055 pub fn new(client: &::origincloud_core::Client) -> Self {
2057 Self {
2058 service: client.service("support", false),
2059 }
2060 }
2061 pub fn service(&self) -> &::origincloud_core::Service {
2063 &self.service
2064 }
2065 pub async fn get_case(
2067 &self,
2068 request: GetCaseRequest,
2069 ) -> ::core::result::Result<Case, ::origincloud_core::Error> {
2070 let p0 = ::origincloud_core::path_value(
2071 "name",
2072 &request.name,
2073 "organizations/*/cases/*",
2074 )?;
2075 let query = ::origincloud_core::query(&request, &["name"])?;
2076 let call = ::origincloud_core::Request::new(
2077 ::origincloud_core::Method::GET,
2078 format!("/v1beta1/{p0}"),
2079 )
2080 .with_query(query)
2081 .idempotent();
2082 self.service.call(call).await
2083 }
2084 pub async fn list_cases(
2087 &self,
2088 request: ListCasesRequest,
2089 ) -> ::core::result::Result<ListCasesResponse, ::origincloud_core::Error> {
2090 let p0 = ::origincloud_core::path_value(
2091 "parent",
2092 &request.parent,
2093 "organizations/*",
2094 )?;
2095 let query = ::origincloud_core::query(&request, &["parent"])?;
2096 let call = ::origincloud_core::Request::new(
2097 ::origincloud_core::Method::GET,
2098 format!("/v1beta1/{p0}/cases"),
2099 )
2100 .with_query(query)
2101 .idempotent();
2102 self.service.call(call).await
2103 }
2104 pub fn all_cases(
2106 &self,
2107 request: ListCasesRequest,
2108 ) -> ::origincloud_core::Pages<Case> {
2109 let client = self.clone();
2110 ::origincloud_core::Pages::new(
2111 request,
2112 move |request: ListCasesRequest| {
2113 let client = client.clone();
2114 async move {
2115 let page = client.list_cases(request).await?;
2116 Ok((page.cases, page.next_page_token))
2117 }
2118 },
2119 |request: &mut ListCasesRequest, token: ::std::string::String| {
2120 request.page_token = token;
2121 },
2122 )
2123 }
2124 pub async fn create_case(
2127 &self,
2128 mut request: CreateCaseRequest,
2129 ) -> ::core::result::Result<Case, ::origincloud_core::Error> {
2130 if request.request_id.is_empty() {
2131 request.request_id = ::origincloud_core::new_request_id();
2132 }
2133 let p0 = ::origincloud_core::path_value(
2134 "parent",
2135 &request.parent,
2136 "organizations/*",
2137 )?;
2138 let body = ::origincloud_core::json_body(
2139 request.case.as_ref().unwrap_or(&::core::default::Default::default()),
2140 )?;
2141 let query = ::origincloud_core::query(&request, &["parent", "case"])?;
2142 let call = ::origincloud_core::Request::new(
2143 ::origincloud_core::Method::POST,
2144 format!("/v1beta1/{p0}/cases"),
2145 )
2146 .with_body(body)
2147 .with_query(query)
2148 .idempotent();
2149 self.service.call(call).await
2150 }
2151 pub async fn close_case(
2155 &self,
2156 request: CloseCaseRequest,
2157 ) -> ::core::result::Result<Case, ::origincloud_core::Error> {
2158 let p0 = ::origincloud_core::path_value(
2159 "name",
2160 &request.name,
2161 "organizations/*/cases/*",
2162 )?;
2163 let body = ::origincloud_core::json_body(&request)?;
2164 let call = ::origincloud_core::Request::new(
2165 ::origincloud_core::Method::POST,
2166 format!("/v1beta1/{p0}:close"),
2167 )
2168 .with_body(body);
2169 self.service.call(call).await
2170 }
2171 pub async fn reopen_case(
2176 &self,
2177 request: ReopenCaseRequest,
2178 ) -> ::core::result::Result<Case, ::origincloud_core::Error> {
2179 let p0 = ::origincloud_core::path_value(
2180 "name",
2181 &request.name,
2182 "organizations/*/cases/*",
2183 )?;
2184 let body = ::origincloud_core::json_body(&request)?;
2185 let call = ::origincloud_core::Request::new(
2186 ::origincloud_core::Method::POST,
2187 format!("/v1beta1/{p0}:reopen"),
2188 )
2189 .with_body(body);
2190 self.service.call(call).await
2191 }
2192}
2193#[derive(Clone, Debug)]
2198pub struct CaseMessageClient {
2199 service: ::origincloud_core::Service,
2200}
2201impl CaseMessageClient {
2202 pub fn new(client: &::origincloud_core::Client) -> Self {
2204 Self {
2205 service: client.service("support", false),
2206 }
2207 }
2208 pub fn service(&self) -> &::origincloud_core::Service {
2210 &self.service
2211 }
2212 pub async fn get_case_message(
2215 &self,
2216 request: GetCaseMessageRequest,
2217 ) -> ::core::result::Result<CaseMessage, ::origincloud_core::Error> {
2218 let p0 = ::origincloud_core::path_value(
2219 "name",
2220 &request.name,
2221 "organizations/*/cases/*/messages/*",
2222 )?;
2223 let query = ::origincloud_core::query(&request, &["name"])?;
2224 let call = ::origincloud_core::Request::new(
2225 ::origincloud_core::Method::GET,
2226 format!("/v1beta1/{p0}"),
2227 )
2228 .with_query(query)
2229 .idempotent();
2230 self.service.call(call).await
2231 }
2232 pub async fn list_case_messages(
2235 &self,
2236 request: ListCaseMessagesRequest,
2237 ) -> ::core::result::Result<ListCaseMessagesResponse, ::origincloud_core::Error> {
2238 let p0 = ::origincloud_core::path_value(
2239 "parent",
2240 &request.parent,
2241 "organizations/*/cases/*",
2242 )?;
2243 let query = ::origincloud_core::query(&request, &["parent"])?;
2244 let call = ::origincloud_core::Request::new(
2245 ::origincloud_core::Method::GET,
2246 format!("/v1beta1/{p0}/messages"),
2247 )
2248 .with_query(query)
2249 .idempotent();
2250 self.service.call(call).await
2251 }
2252 pub fn all_case_messages(
2254 &self,
2255 request: ListCaseMessagesRequest,
2256 ) -> ::origincloud_core::Pages<CaseMessage> {
2257 let client = self.clone();
2258 ::origincloud_core::Pages::new(
2259 request,
2260 move |request: ListCaseMessagesRequest| {
2261 let client = client.clone();
2262 async move {
2263 let page = client.list_case_messages(request).await?;
2264 Ok((page.case_messages, page.next_page_token))
2265 }
2266 },
2267 |request: &mut ListCaseMessagesRequest, token: ::std::string::String| {
2268 request.page_token = token;
2269 },
2270 )
2271 }
2272 pub async fn create_case_message(
2277 &self,
2278 mut request: CreateCaseMessageRequest,
2279 ) -> ::core::result::Result<CaseMessage, ::origincloud_core::Error> {
2280 if request.request_id.is_empty() {
2281 request.request_id = ::origincloud_core::new_request_id();
2282 }
2283 let p0 = ::origincloud_core::path_value(
2284 "parent",
2285 &request.parent,
2286 "organizations/*/cases/*",
2287 )?;
2288 let body = ::origincloud_core::json_body(
2289 request.case_message.as_ref().unwrap_or(&::core::default::Default::default()),
2290 )?;
2291 let query = ::origincloud_core::query(&request, &["parent", "caseMessage"])?;
2292 let call = ::origincloud_core::Request::new(
2293 ::origincloud_core::Method::POST,
2294 format!("/v1beta1/{p0}/messages"),
2295 )
2296 .with_body(body)
2297 .with_query(query)
2298 .idempotent();
2299 self.service.call(call).await
2300 }
2301}