1#[allow(unused_imports)]
9use alloc::collections::BTreeMap;
10
11#[allow(unused_imports)]
12use core::marker::PhantomData;
13use jacquard_common::{BosStr, CowStr, DefaultStr, FromStaticStr};
14
15#[allow(unused_imports)]
16use jacquard_common::deps::codegen::unicode_segmentation::UnicodeSegmentation;
17use jacquard_common::deps::smol_str::SmolStr;
18use jacquard_common::types::string::{Datetime, Did};
19use jacquard_common::types::value::Data;
20use jacquard_derive::{IntoStatic, open_union};
21use jacquard_lexicon::lexicon::LexiconDoc;
22use jacquard_lexicon::schema::LexiconSchema;
23
24use crate::chat_bsky::moderation::subscribe_mod_events;
25#[allow(unused_imports)]
26use jacquard_lexicon::validation::{ConstraintError, ValidationPath};
27use serde::{Deserialize, Serialize};
28#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
31#[serde(
32 rename_all = "camelCase",
33 bound(deserialize = "S: Deserialize<'de> + BosStr")
34)]
35pub struct EventChatAccepted<S: BosStr = DefaultStr> {
36 pub actor_did: Did<S>,
38 pub convo_created_at: Datetime,
40 pub convo_id: S,
41 pub created_at: Datetime,
42 #[serde(skip_serializing_if = "Option::is_none")]
44 pub group_member_count: Option<i64>,
45 #[serde(skip_serializing_if = "Option::is_none")]
47 pub group_name: Option<S>,
48 pub method: EventChatAcceptedMethod<S>,
50 #[serde(skip_serializing_if = "Option::is_none")]
52 pub owner_did: Option<Did<S>>,
53 pub rev: S,
54 #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
55 pub extra_data: Option<BTreeMap<SmolStr, Data<S>>>,
56}
57
58#[derive(Debug, Clone, PartialEq, Eq, Hash)]
61pub enum EventChatAcceptedMethod<S: BosStr = DefaultStr> {
62 Explicit,
63 Message,
64 Other(S),
65}
66
67impl<S: BosStr> EventChatAcceptedMethod<S> {
68 pub fn as_str(&self) -> &str {
69 match self {
70 Self::Explicit => "explicit",
71 Self::Message => "message",
72 Self::Other(s) => s.as_ref(),
73 }
74 }
75 pub fn from_value(s: S) -> Self {
77 match s.as_ref() {
78 "explicit" => Self::Explicit,
79 "message" => Self::Message,
80 _ => Self::Other(s),
81 }
82 }
83}
84
85impl<S: BosStr> core::fmt::Display for EventChatAcceptedMethod<S> {
86 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
87 write!(f, "{}", self.as_str())
88 }
89}
90
91impl<S: BosStr> AsRef<str> for EventChatAcceptedMethod<S> {
92 fn as_ref(&self) -> &str {
93 self.as_str()
94 }
95}
96
97impl<S: BosStr> Serialize for EventChatAcceptedMethod<S> {
98 fn serialize<Ser>(&self, serializer: Ser) -> Result<Ser::Ok, Ser::Error>
99 where
100 Ser: serde::Serializer,
101 {
102 serializer.serialize_str(self.as_str())
103 }
104}
105
106impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> for EventChatAcceptedMethod<S> {
107 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
108 where
109 D: serde::Deserializer<'de>,
110 {
111 let s = S::deserialize(deserializer)?;
112 Ok(Self::from_value(s))
113 }
114}
115
116impl<S: BosStr + Default> Default for EventChatAcceptedMethod<S> {
117 fn default() -> Self {
118 Self::Other(Default::default())
119 }
120}
121
122impl<S: BosStr> jacquard_common::IntoStatic for EventChatAcceptedMethod<S>
123where
124 S: BosStr + jacquard_common::IntoStatic,
125 S::Output: BosStr,
126{
127 type Output = EventChatAcceptedMethod<S::Output>;
128 fn into_static(self) -> Self::Output {
129 match self {
130 EventChatAcceptedMethod::Explicit => EventChatAcceptedMethod::Explicit,
131 EventChatAcceptedMethod::Message => EventChatAcceptedMethod::Message,
132 EventChatAcceptedMethod::Other(v) => EventChatAcceptedMethod::Other(v.into_static()),
133 }
134 }
135}
136
137#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
140#[serde(
141 rename_all = "camelCase",
142 bound(deserialize = "S: Deserialize<'de> + BosStr")
143)]
144pub struct EventConvoFirstMessage<S: BosStr = DefaultStr> {
145 pub convo_id: S,
146 pub created_at: Datetime,
147 #[serde(skip_serializing_if = "Option::is_none")]
148 pub message_id: Option<S>,
149 pub recipients: Vec<Did<S>>,
151 pub rev: S,
152 pub user: Did<S>,
154 #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
155 pub extra_data: Option<BTreeMap<SmolStr, Data<S>>>,
156}
157
158#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
161#[serde(
162 rename_all = "camelCase",
163 bound(deserialize = "S: Deserialize<'de> + BosStr")
164)]
165pub struct EventGroupChatCreated<S: BosStr = DefaultStr> {
166 pub actor_did: Did<S>,
168 pub convo_created_at: Datetime,
170 pub convo_id: S,
171 pub created_at: Datetime,
172 pub group_member_count: i64,
174 pub group_name: S,
176 pub initial_member_dids: Vec<Did<S>>,
178 pub owner_did: Did<S>,
180 pub rev: S,
181 #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
182 pub extra_data: Option<BTreeMap<SmolStr, Data<S>>>,
183}
184
185#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
188#[serde(
189 rename_all = "camelCase",
190 bound(deserialize = "S: Deserialize<'de> + BosStr")
191)]
192pub struct EventGroupChatJoinRequest<S: BosStr = DefaultStr> {
193 pub actor_did: Did<S>,
195 pub convo_created_at: Datetime,
197 pub convo_id: S,
198 pub created_at: Datetime,
199 pub group_member_count: i64,
201 pub group_name: S,
202 pub join_link_code: S,
204 pub owner_did: Did<S>,
206 pub rev: S,
207 pub subject_follows_owner: bool,
209 #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
210 pub extra_data: Option<BTreeMap<SmolStr, Data<S>>>,
211}
212
213#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
216#[serde(
217 rename_all = "camelCase",
218 bound(deserialize = "S: Deserialize<'de> + BosStr")
219)]
220pub struct EventGroupChatJoinRequestApproved<S: BosStr = DefaultStr> {
221 pub actor_did: Did<S>,
223 pub convo_created_at: Datetime,
225 pub convo_id: S,
226 pub created_at: Datetime,
227 pub group_member_count: i64,
229 pub group_name: S,
230 pub owner_did: Did<S>,
232 pub rev: S,
233 pub subject_did: Did<S>,
235 #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
236 pub extra_data: Option<BTreeMap<SmolStr, Data<S>>>,
237}
238
239#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
242#[serde(
243 rename_all = "camelCase",
244 bound(deserialize = "S: Deserialize<'de> + BosStr")
245)]
246pub struct EventGroupChatJoinRequestRejected<S: BosStr = DefaultStr> {
247 pub actor_did: Did<S>,
249 pub convo_created_at: Datetime,
251 pub convo_id: S,
252 pub created_at: Datetime,
253 pub group_member_count: i64,
255 pub group_name: S,
256 pub owner_did: Did<S>,
258 pub rev: S,
259 pub subject_did: Did<S>,
261 #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
262 pub extra_data: Option<BTreeMap<SmolStr, Data<S>>>,
263}
264
265#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
268#[serde(
269 rename_all = "camelCase",
270 bound(deserialize = "S: Deserialize<'de> + BosStr")
271)]
272pub struct EventGroupChatMemberAdded<S: BosStr = DefaultStr> {
273 pub actor_did: Did<S>,
275 pub convo_created_at: Datetime,
277 pub convo_id: S,
278 pub created_at: Datetime,
279 pub group_member_count: i64,
281 pub group_name: S,
282 pub owner_did: Did<S>,
284 pub request_members_count: i64,
286 pub rev: S,
287 pub subject_did: Did<S>,
289 pub subject_follows_owner: bool,
291 #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
292 pub extra_data: Option<BTreeMap<SmolStr, Data<S>>>,
293}
294
295#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
298#[serde(
299 rename_all = "camelCase",
300 bound(deserialize = "S: Deserialize<'de> + BosStr")
301)]
302pub struct EventGroupChatMemberJoined<S: BosStr = DefaultStr> {
303 pub actor_did: Did<S>,
305 pub convo_created_at: Datetime,
307 pub convo_id: S,
308 pub created_at: Datetime,
309 pub group_member_count: i64,
311 pub group_name: S,
312 pub join_link_code: S,
314 pub owner_did: Did<S>,
316 pub rev: S,
317 pub subject_follows_owner: bool,
319 #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
320 pub extra_data: Option<BTreeMap<SmolStr, Data<S>>>,
321}
322
323#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
326#[serde(
327 rename_all = "camelCase",
328 bound(deserialize = "S: Deserialize<'de> + BosStr")
329)]
330pub struct EventGroupChatMemberLeft<S: BosStr = DefaultStr> {
331 pub actor_did: Did<S>,
333 pub convo_created_at: Datetime,
335 pub convo_id: S,
336 pub created_at: Datetime,
337 pub group_member_count: i64,
339 pub group_name: S,
340 pub leave_method: EventGroupChatMemberLeftLeaveMethod<S>,
342 pub owner_did: Did<S>,
344 pub rev: S,
345 pub subject_did: Did<S>,
347 #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
348 pub extra_data: Option<BTreeMap<SmolStr, Data<S>>>,
349}
350
351#[derive(Debug, Clone, PartialEq, Eq, Hash)]
354pub enum EventGroupChatMemberLeftLeaveMethod<S: BosStr = DefaultStr> {
355 Voluntary,
356 Kicked,
357 Other(S),
358}
359
360impl<S: BosStr> EventGroupChatMemberLeftLeaveMethod<S> {
361 pub fn as_str(&self) -> &str {
362 match self {
363 Self::Voluntary => "voluntary",
364 Self::Kicked => "kicked",
365 Self::Other(s) => s.as_ref(),
366 }
367 }
368 pub fn from_value(s: S) -> Self {
370 match s.as_ref() {
371 "voluntary" => Self::Voluntary,
372 "kicked" => Self::Kicked,
373 _ => Self::Other(s),
374 }
375 }
376}
377
378impl<S: BosStr> core::fmt::Display for EventGroupChatMemberLeftLeaveMethod<S> {
379 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
380 write!(f, "{}", self.as_str())
381 }
382}
383
384impl<S: BosStr> AsRef<str> for EventGroupChatMemberLeftLeaveMethod<S> {
385 fn as_ref(&self) -> &str {
386 self.as_str()
387 }
388}
389
390impl<S: BosStr> Serialize for EventGroupChatMemberLeftLeaveMethod<S> {
391 fn serialize<Ser>(&self, serializer: Ser) -> Result<Ser::Ok, Ser::Error>
392 where
393 Ser: serde::Serializer,
394 {
395 serializer.serialize_str(self.as_str())
396 }
397}
398
399impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de>
400 for EventGroupChatMemberLeftLeaveMethod<S>
401{
402 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
403 where
404 D: serde::Deserializer<'de>,
405 {
406 let s = S::deserialize(deserializer)?;
407 Ok(Self::from_value(s))
408 }
409}
410
411impl<S: BosStr + Default> Default for EventGroupChatMemberLeftLeaveMethod<S> {
412 fn default() -> Self {
413 Self::Other(Default::default())
414 }
415}
416
417impl<S: BosStr> jacquard_common::IntoStatic for EventGroupChatMemberLeftLeaveMethod<S>
418where
419 S: BosStr + jacquard_common::IntoStatic,
420 S::Output: BosStr,
421{
422 type Output = EventGroupChatMemberLeftLeaveMethod<S::Output>;
423 fn into_static(self) -> Self::Output {
424 match self {
425 EventGroupChatMemberLeftLeaveMethod::Voluntary => {
426 EventGroupChatMemberLeftLeaveMethod::Voluntary
427 }
428 EventGroupChatMemberLeftLeaveMethod::Kicked => {
429 EventGroupChatMemberLeftLeaveMethod::Kicked
430 }
431 EventGroupChatMemberLeftLeaveMethod::Other(v) => {
432 EventGroupChatMemberLeftLeaveMethod::Other(v.into_static())
433 }
434 }
435 }
436}
437
438#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
441#[serde(
442 rename_all = "camelCase",
443 bound(deserialize = "S: Deserialize<'de> + BosStr")
444)]
445pub struct EventGroupChatUpdated<S: BosStr = DefaultStr> {
446 pub actor_did: Did<S>,
448 pub convo_created_at: Datetime,
450 pub convo_id: S,
451 pub created_at: Datetime,
452 pub group_member_count: i64,
454 pub group_name: S,
456 #[serde(skip_serializing_if = "Option::is_none")]
458 pub join_link_code: Option<S>,
459 #[serde(skip_serializing_if = "Option::is_none")]
461 pub join_link_followers_only: Option<bool>,
462 #[serde(skip_serializing_if = "Option::is_none")]
464 pub join_link_requires_approval: Option<bool>,
465 #[serde(skip_serializing_if = "Option::is_none")]
467 pub lock_reason: Option<EventGroupChatUpdatedLockReason<S>>,
468 #[serde(skip_serializing_if = "Option::is_none")]
470 pub new_name: Option<S>,
471 #[serde(skip_serializing_if = "Option::is_none")]
473 pub old_name: Option<S>,
474 pub owner_did: Did<S>,
476 pub rev: S,
477 pub update_type: EventGroupChatUpdatedUpdateType<S>,
479 #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
480 pub extra_data: Option<BTreeMap<SmolStr, Data<S>>>,
481}
482
483#[derive(Debug, Clone, PartialEq, Eq, Hash)]
486pub enum EventGroupChatUpdatedLockReason<S: BosStr = DefaultStr> {
487 OwnerAction,
488 OwnerLeft,
489 OwnerDeactivated,
490 OwnerDeleted,
491 OwnerSuspended,
492 OwnerTakenDown,
493 LabelApplied,
494 ConvoTakenDown,
495 Other(S),
496}
497
498impl<S: BosStr> EventGroupChatUpdatedLockReason<S> {
499 pub fn as_str(&self) -> &str {
500 match self {
501 Self::OwnerAction => "owner_action",
502 Self::OwnerLeft => "owner_left",
503 Self::OwnerDeactivated => "owner_deactivated",
504 Self::OwnerDeleted => "owner_deleted",
505 Self::OwnerSuspended => "owner_suspended",
506 Self::OwnerTakenDown => "owner_taken_down",
507 Self::LabelApplied => "label_applied",
508 Self::ConvoTakenDown => "convo_taken_down",
509 Self::Other(s) => s.as_ref(),
510 }
511 }
512 pub fn from_value(s: S) -> Self {
514 match s.as_ref() {
515 "owner_action" => Self::OwnerAction,
516 "owner_left" => Self::OwnerLeft,
517 "owner_deactivated" => Self::OwnerDeactivated,
518 "owner_deleted" => Self::OwnerDeleted,
519 "owner_suspended" => Self::OwnerSuspended,
520 "owner_taken_down" => Self::OwnerTakenDown,
521 "label_applied" => Self::LabelApplied,
522 "convo_taken_down" => Self::ConvoTakenDown,
523 _ => Self::Other(s),
524 }
525 }
526}
527
528impl<S: BosStr> core::fmt::Display for EventGroupChatUpdatedLockReason<S> {
529 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
530 write!(f, "{}", self.as_str())
531 }
532}
533
534impl<S: BosStr> AsRef<str> for EventGroupChatUpdatedLockReason<S> {
535 fn as_ref(&self) -> &str {
536 self.as_str()
537 }
538}
539
540impl<S: BosStr> Serialize for EventGroupChatUpdatedLockReason<S> {
541 fn serialize<Ser>(&self, serializer: Ser) -> Result<Ser::Ok, Ser::Error>
542 where
543 Ser: serde::Serializer,
544 {
545 serializer.serialize_str(self.as_str())
546 }
547}
548
549impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> for EventGroupChatUpdatedLockReason<S> {
550 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
551 where
552 D: serde::Deserializer<'de>,
553 {
554 let s = S::deserialize(deserializer)?;
555 Ok(Self::from_value(s))
556 }
557}
558
559impl<S: BosStr + Default> Default for EventGroupChatUpdatedLockReason<S> {
560 fn default() -> Self {
561 Self::Other(Default::default())
562 }
563}
564
565impl<S: BosStr> jacquard_common::IntoStatic for EventGroupChatUpdatedLockReason<S>
566where
567 S: BosStr + jacquard_common::IntoStatic,
568 S::Output: BosStr,
569{
570 type Output = EventGroupChatUpdatedLockReason<S::Output>;
571 fn into_static(self) -> Self::Output {
572 match self {
573 EventGroupChatUpdatedLockReason::OwnerAction => {
574 EventGroupChatUpdatedLockReason::OwnerAction
575 }
576 EventGroupChatUpdatedLockReason::OwnerLeft => {
577 EventGroupChatUpdatedLockReason::OwnerLeft
578 }
579 EventGroupChatUpdatedLockReason::OwnerDeactivated => {
580 EventGroupChatUpdatedLockReason::OwnerDeactivated
581 }
582 EventGroupChatUpdatedLockReason::OwnerDeleted => {
583 EventGroupChatUpdatedLockReason::OwnerDeleted
584 }
585 EventGroupChatUpdatedLockReason::OwnerSuspended => {
586 EventGroupChatUpdatedLockReason::OwnerSuspended
587 }
588 EventGroupChatUpdatedLockReason::OwnerTakenDown => {
589 EventGroupChatUpdatedLockReason::OwnerTakenDown
590 }
591 EventGroupChatUpdatedLockReason::LabelApplied => {
592 EventGroupChatUpdatedLockReason::LabelApplied
593 }
594 EventGroupChatUpdatedLockReason::ConvoTakenDown => {
595 EventGroupChatUpdatedLockReason::ConvoTakenDown
596 }
597 EventGroupChatUpdatedLockReason::Other(v) => {
598 EventGroupChatUpdatedLockReason::Other(v.into_static())
599 }
600 }
601 }
602}
603
604#[derive(Debug, Clone, PartialEq, Eq, Hash)]
607pub enum EventGroupChatUpdatedUpdateType<S: BosStr = DefaultStr> {
608 NameChanged,
609 Locked,
610 LockedPermanently,
611 Unlocked,
612 JoinLinkCreated,
613 JoinLinkDisabled,
614 JoinLinkSettingsChanged,
615 Other(S),
616}
617
618impl<S: BosStr> EventGroupChatUpdatedUpdateType<S> {
619 pub fn as_str(&self) -> &str {
620 match self {
621 Self::NameChanged => "name_changed",
622 Self::Locked => "locked",
623 Self::LockedPermanently => "locked_permanently",
624 Self::Unlocked => "unlocked",
625 Self::JoinLinkCreated => "join_link_created",
626 Self::JoinLinkDisabled => "join_link_disabled",
627 Self::JoinLinkSettingsChanged => "join_link_settings_changed",
628 Self::Other(s) => s.as_ref(),
629 }
630 }
631 pub fn from_value(s: S) -> Self {
633 match s.as_ref() {
634 "name_changed" => Self::NameChanged,
635 "locked" => Self::Locked,
636 "locked_permanently" => Self::LockedPermanently,
637 "unlocked" => Self::Unlocked,
638 "join_link_created" => Self::JoinLinkCreated,
639 "join_link_disabled" => Self::JoinLinkDisabled,
640 "join_link_settings_changed" => Self::JoinLinkSettingsChanged,
641 _ => Self::Other(s),
642 }
643 }
644}
645
646impl<S: BosStr> core::fmt::Display for EventGroupChatUpdatedUpdateType<S> {
647 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
648 write!(f, "{}", self.as_str())
649 }
650}
651
652impl<S: BosStr> AsRef<str> for EventGroupChatUpdatedUpdateType<S> {
653 fn as_ref(&self) -> &str {
654 self.as_str()
655 }
656}
657
658impl<S: BosStr> Serialize for EventGroupChatUpdatedUpdateType<S> {
659 fn serialize<Ser>(&self, serializer: Ser) -> Result<Ser::Ok, Ser::Error>
660 where
661 Ser: serde::Serializer,
662 {
663 serializer.serialize_str(self.as_str())
664 }
665}
666
667impl<'de, S: Deserialize<'de> + BosStr> Deserialize<'de> for EventGroupChatUpdatedUpdateType<S> {
668 fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
669 where
670 D: serde::Deserializer<'de>,
671 {
672 let s = S::deserialize(deserializer)?;
673 Ok(Self::from_value(s))
674 }
675}
676
677impl<S: BosStr + Default> Default for EventGroupChatUpdatedUpdateType<S> {
678 fn default() -> Self {
679 Self::Other(Default::default())
680 }
681}
682
683impl<S: BosStr> jacquard_common::IntoStatic for EventGroupChatUpdatedUpdateType<S>
684where
685 S: BosStr + jacquard_common::IntoStatic,
686 S::Output: BosStr,
687{
688 type Output = EventGroupChatUpdatedUpdateType<S::Output>;
689 fn into_static(self) -> Self::Output {
690 match self {
691 EventGroupChatUpdatedUpdateType::NameChanged => {
692 EventGroupChatUpdatedUpdateType::NameChanged
693 }
694 EventGroupChatUpdatedUpdateType::Locked => EventGroupChatUpdatedUpdateType::Locked,
695 EventGroupChatUpdatedUpdateType::LockedPermanently => {
696 EventGroupChatUpdatedUpdateType::LockedPermanently
697 }
698 EventGroupChatUpdatedUpdateType::Unlocked => EventGroupChatUpdatedUpdateType::Unlocked,
699 EventGroupChatUpdatedUpdateType::JoinLinkCreated => {
700 EventGroupChatUpdatedUpdateType::JoinLinkCreated
701 }
702 EventGroupChatUpdatedUpdateType::JoinLinkDisabled => {
703 EventGroupChatUpdatedUpdateType::JoinLinkDisabled
704 }
705 EventGroupChatUpdatedUpdateType::JoinLinkSettingsChanged => {
706 EventGroupChatUpdatedUpdateType::JoinLinkSettingsChanged
707 }
708 EventGroupChatUpdatedUpdateType::Other(v) => {
709 EventGroupChatUpdatedUpdateType::Other(v.into_static())
710 }
711 }
712 }
713}
714
715#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
718#[serde(
719 rename_all = "camelCase",
720 bound(deserialize = "S: Deserialize<'de> + BosStr")
721)]
722pub struct EventRateLimitExceeded<S: BosStr = DefaultStr> {
723 pub actor_did: Did<S>,
725 pub created_at: Datetime,
726 pub endpoint: S,
728 pub rev: S,
729 #[serde(flatten, default, skip_serializing_if = "Option::is_none")]
730 pub extra_data: Option<BTreeMap<SmolStr, Data<S>>>,
731}
732
733#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
734#[serde(
735 rename_all = "camelCase",
736 bound(deserialize = "S: Deserialize<'de> + BosStr")
737)]
738pub struct SubscribeModEvents<S: BosStr = DefaultStr> {
739 #[serde(skip_serializing_if = "Option::is_none")]
740 pub cursor: Option<S>,
741}
742
743#[open_union]
744#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, IntoStatic)]
745#[serde(tag = "$type", bound(deserialize = "S: Deserialize<'de> + BosStr"))]
746pub enum SubscribeModEventsMessage<S: BosStr = DefaultStr> {
747 #[serde(rename = "#eventConvoFirstMessage")]
748 EventConvoFirstMessage(Box<subscribe_mod_events::EventConvoFirstMessage<S>>),
749 #[serde(rename = "#eventGroupChatCreated")]
750 EventGroupChatCreated(Box<subscribe_mod_events::EventGroupChatCreated<S>>),
751 #[serde(rename = "#eventGroupChatMemberAdded")]
752 EventGroupChatMemberAdded(Box<subscribe_mod_events::EventGroupChatMemberAdded<S>>),
753 #[serde(rename = "#eventGroupChatMemberJoined")]
754 EventGroupChatMemberJoined(Box<subscribe_mod_events::EventGroupChatMemberJoined<S>>),
755 #[serde(rename = "#eventGroupChatJoinRequest")]
756 EventGroupChatJoinRequest(Box<subscribe_mod_events::EventGroupChatJoinRequest<S>>),
757 #[serde(rename = "#eventGroupChatJoinRequestApproved")]
758 EventGroupChatJoinRequestApproved(
759 Box<subscribe_mod_events::EventGroupChatJoinRequestApproved<S>>,
760 ),
761 #[serde(rename = "#eventGroupChatJoinRequestRejected")]
762 EventGroupChatJoinRequestRejected(
763 Box<subscribe_mod_events::EventGroupChatJoinRequestRejected<S>>,
764 ),
765 #[serde(rename = "#eventChatAccepted")]
766 EventChatAccepted(Box<subscribe_mod_events::EventChatAccepted<S>>),
767 #[serde(rename = "#eventGroupChatMemberLeft")]
768 EventGroupChatMemberLeft(Box<subscribe_mod_events::EventGroupChatMemberLeft<S>>),
769 #[serde(rename = "#eventGroupChatUpdated")]
770 EventGroupChatUpdated(Box<subscribe_mod_events::EventGroupChatUpdated<S>>),
771 #[serde(rename = "#eventRateLimitExceeded")]
772 EventRateLimitExceeded(Box<subscribe_mod_events::EventRateLimitExceeded<S>>),
773}
774
775impl<S: BosStr> SubscribeModEventsMessage<S> {
776 pub fn decode_framed<'de>(
778 bytes: &'de [u8],
779 ) -> Result<SubscribeModEventsMessage<S>, jacquard_common::error::DecodeError>
780 where
781 S: serde::Deserialize<'de>,
782 {
783 let (header, body) = jacquard_common::xrpc::subscription::parse_event_header(bytes)?;
784 match header.t.as_str() {
785 "#eventConvoFirstMessage" => {
786 let variant = jacquard_common::deps::codegen::serde_ipld_dagcbor::from_slice(body)?;
787 Ok(Self::EventConvoFirstMessage(Box::new(variant)))
788 }
789 "#eventGroupChatCreated" => {
790 let variant = jacquard_common::deps::codegen::serde_ipld_dagcbor::from_slice(body)?;
791 Ok(Self::EventGroupChatCreated(Box::new(variant)))
792 }
793 "#eventGroupChatMemberAdded" => {
794 let variant = jacquard_common::deps::codegen::serde_ipld_dagcbor::from_slice(body)?;
795 Ok(Self::EventGroupChatMemberAdded(Box::new(variant)))
796 }
797 "#eventGroupChatMemberJoined" => {
798 let variant = jacquard_common::deps::codegen::serde_ipld_dagcbor::from_slice(body)?;
799 Ok(Self::EventGroupChatMemberJoined(Box::new(variant)))
800 }
801 "#eventGroupChatJoinRequest" => {
802 let variant = jacquard_common::deps::codegen::serde_ipld_dagcbor::from_slice(body)?;
803 Ok(Self::EventGroupChatJoinRequest(Box::new(variant)))
804 }
805 "#eventGroupChatJoinRequestApproved" => {
806 let variant = jacquard_common::deps::codegen::serde_ipld_dagcbor::from_slice(body)?;
807 Ok(Self::EventGroupChatJoinRequestApproved(Box::new(variant)))
808 }
809 "#eventGroupChatJoinRequestRejected" => {
810 let variant = jacquard_common::deps::codegen::serde_ipld_dagcbor::from_slice(body)?;
811 Ok(Self::EventGroupChatJoinRequestRejected(Box::new(variant)))
812 }
813 "#eventChatAccepted" => {
814 let variant = jacquard_common::deps::codegen::serde_ipld_dagcbor::from_slice(body)?;
815 Ok(Self::EventChatAccepted(Box::new(variant)))
816 }
817 "#eventGroupChatMemberLeft" => {
818 let variant = jacquard_common::deps::codegen::serde_ipld_dagcbor::from_slice(body)?;
819 Ok(Self::EventGroupChatMemberLeft(Box::new(variant)))
820 }
821 "#eventGroupChatUpdated" => {
822 let variant = jacquard_common::deps::codegen::serde_ipld_dagcbor::from_slice(body)?;
823 Ok(Self::EventGroupChatUpdated(Box::new(variant)))
824 }
825 "#eventRateLimitExceeded" => {
826 let variant = jacquard_common::deps::codegen::serde_ipld_dagcbor::from_slice(body)?;
827 Ok(Self::EventRateLimitExceeded(Box::new(variant)))
828 }
829 unknown => Err(jacquard_common::error::DecodeError::UnknownEventType(
830 unknown.into(),
831 )),
832 }
833 }
834}
835
836#[derive(
837 Serialize, Deserialize, Debug, Clone, PartialEq, Eq, thiserror::Error, miette::Diagnostic,
838)]
839#[serde(tag = "error", content = "message")]
840pub enum SubscribeModEventsError {
841 #[serde(rename = "FutureCursor")]
842 FutureCursor(Option<SmolStr>),
843 #[serde(rename = "ConsumerTooSlow")]
845 ConsumerTooSlow(Option<SmolStr>),
846 #[serde(untagged)]
848 Other {
849 error: SmolStr,
850 message: Option<SmolStr>,
851 },
852}
853
854impl core::fmt::Display for SubscribeModEventsError {
855 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
856 match self {
857 Self::FutureCursor(msg) => {
858 write!(f, "FutureCursor")?;
859 if let Some(msg) = msg {
860 write!(f, ": {}", msg)?;
861 }
862 Ok(())
863 }
864 Self::ConsumerTooSlow(msg) => {
865 write!(f, "ConsumerTooSlow")?;
866 if let Some(msg) = msg {
867 write!(f, ": {}", msg)?;
868 }
869 Ok(())
870 }
871 Self::Other { error, message } => {
872 write!(f, "{}", error)?;
873 if let Some(msg) = message {
874 write!(f, ": {}", msg)?;
875 }
876 Ok(())
877 }
878 }
879 }
880}
881
882impl<S: BosStr> LexiconSchema for EventChatAccepted<S> {
883 fn nsid() -> &'static str {
884 "chat.bsky.moderation.subscribeModEvents"
885 }
886 fn def_name() -> &'static str {
887 "eventChatAccepted"
888 }
889 fn lexicon_doc() -> LexiconDoc<'static> {
890 lexicon_doc_chat_bsky_moderation_subscribeModEvents()
891 }
892 fn validate(&self) -> Result<(), ConstraintError> {
893 Ok(())
894 }
895}
896
897impl<S: BosStr> LexiconSchema for EventConvoFirstMessage<S> {
898 fn nsid() -> &'static str {
899 "chat.bsky.moderation.subscribeModEvents"
900 }
901 fn def_name() -> &'static str {
902 "eventConvoFirstMessage"
903 }
904 fn lexicon_doc() -> LexiconDoc<'static> {
905 lexicon_doc_chat_bsky_moderation_subscribeModEvents()
906 }
907 fn validate(&self) -> Result<(), ConstraintError> {
908 Ok(())
909 }
910}
911
912impl<S: BosStr> LexiconSchema for EventGroupChatCreated<S> {
913 fn nsid() -> &'static str {
914 "chat.bsky.moderation.subscribeModEvents"
915 }
916 fn def_name() -> &'static str {
917 "eventGroupChatCreated"
918 }
919 fn lexicon_doc() -> LexiconDoc<'static> {
920 lexicon_doc_chat_bsky_moderation_subscribeModEvents()
921 }
922 fn validate(&self) -> Result<(), ConstraintError> {
923 Ok(())
924 }
925}
926
927impl<S: BosStr> LexiconSchema for EventGroupChatJoinRequest<S> {
928 fn nsid() -> &'static str {
929 "chat.bsky.moderation.subscribeModEvents"
930 }
931 fn def_name() -> &'static str {
932 "eventGroupChatJoinRequest"
933 }
934 fn lexicon_doc() -> LexiconDoc<'static> {
935 lexicon_doc_chat_bsky_moderation_subscribeModEvents()
936 }
937 fn validate(&self) -> Result<(), ConstraintError> {
938 Ok(())
939 }
940}
941
942impl<S: BosStr> LexiconSchema for EventGroupChatJoinRequestApproved<S> {
943 fn nsid() -> &'static str {
944 "chat.bsky.moderation.subscribeModEvents"
945 }
946 fn def_name() -> &'static str {
947 "eventGroupChatJoinRequestApproved"
948 }
949 fn lexicon_doc() -> LexiconDoc<'static> {
950 lexicon_doc_chat_bsky_moderation_subscribeModEvents()
951 }
952 fn validate(&self) -> Result<(), ConstraintError> {
953 Ok(())
954 }
955}
956
957impl<S: BosStr> LexiconSchema for EventGroupChatJoinRequestRejected<S> {
958 fn nsid() -> &'static str {
959 "chat.bsky.moderation.subscribeModEvents"
960 }
961 fn def_name() -> &'static str {
962 "eventGroupChatJoinRequestRejected"
963 }
964 fn lexicon_doc() -> LexiconDoc<'static> {
965 lexicon_doc_chat_bsky_moderation_subscribeModEvents()
966 }
967 fn validate(&self) -> Result<(), ConstraintError> {
968 Ok(())
969 }
970}
971
972impl<S: BosStr> LexiconSchema for EventGroupChatMemberAdded<S> {
973 fn nsid() -> &'static str {
974 "chat.bsky.moderation.subscribeModEvents"
975 }
976 fn def_name() -> &'static str {
977 "eventGroupChatMemberAdded"
978 }
979 fn lexicon_doc() -> LexiconDoc<'static> {
980 lexicon_doc_chat_bsky_moderation_subscribeModEvents()
981 }
982 fn validate(&self) -> Result<(), ConstraintError> {
983 Ok(())
984 }
985}
986
987impl<S: BosStr> LexiconSchema for EventGroupChatMemberJoined<S> {
988 fn nsid() -> &'static str {
989 "chat.bsky.moderation.subscribeModEvents"
990 }
991 fn def_name() -> &'static str {
992 "eventGroupChatMemberJoined"
993 }
994 fn lexicon_doc() -> LexiconDoc<'static> {
995 lexicon_doc_chat_bsky_moderation_subscribeModEvents()
996 }
997 fn validate(&self) -> Result<(), ConstraintError> {
998 Ok(())
999 }
1000}
1001
1002impl<S: BosStr> LexiconSchema for EventGroupChatMemberLeft<S> {
1003 fn nsid() -> &'static str {
1004 "chat.bsky.moderation.subscribeModEvents"
1005 }
1006 fn def_name() -> &'static str {
1007 "eventGroupChatMemberLeft"
1008 }
1009 fn lexicon_doc() -> LexiconDoc<'static> {
1010 lexicon_doc_chat_bsky_moderation_subscribeModEvents()
1011 }
1012 fn validate(&self) -> Result<(), ConstraintError> {
1013 Ok(())
1014 }
1015}
1016
1017impl<S: BosStr> LexiconSchema for EventGroupChatUpdated<S> {
1018 fn nsid() -> &'static str {
1019 "chat.bsky.moderation.subscribeModEvents"
1020 }
1021 fn def_name() -> &'static str {
1022 "eventGroupChatUpdated"
1023 }
1024 fn lexicon_doc() -> LexiconDoc<'static> {
1025 lexicon_doc_chat_bsky_moderation_subscribeModEvents()
1026 }
1027 fn validate(&self) -> Result<(), ConstraintError> {
1028 Ok(())
1029 }
1030}
1031
1032impl<S: BosStr> LexiconSchema for EventRateLimitExceeded<S> {
1033 fn nsid() -> &'static str {
1034 "chat.bsky.moderation.subscribeModEvents"
1035 }
1036 fn def_name() -> &'static str {
1037 "eventRateLimitExceeded"
1038 }
1039 fn lexicon_doc() -> LexiconDoc<'static> {
1040 lexicon_doc_chat_bsky_moderation_subscribeModEvents()
1041 }
1042 fn validate(&self) -> Result<(), ConstraintError> {
1043 Ok(())
1044 }
1045}
1046
1047pub struct SubscribeModEventsStream;
1050impl jacquard_common::xrpc::SubscriptionResp for SubscribeModEventsStream {
1051 const NSID: &'static str = "chat.bsky.moderation.subscribeModEvents";
1052 const ENCODING: jacquard_common::xrpc::MessageEncoding =
1053 jacquard_common::xrpc::MessageEncoding::Json;
1054 type Message<S: BosStr> = SubscribeModEventsMessage<S>;
1055 type Error = SubscribeModEventsError;
1056}
1057
1058impl<S: BosStr> jacquard_common::xrpc::XrpcSubscription for SubscribeModEvents<S> {
1059 const NSID: &'static str = "chat.bsky.moderation.subscribeModEvents";
1060 const ENCODING: jacquard_common::xrpc::MessageEncoding =
1061 jacquard_common::xrpc::MessageEncoding::Json;
1062 type Stream = SubscribeModEventsStream;
1063}
1064
1065pub struct SubscribeModEventsEndpoint;
1066impl jacquard_common::xrpc::SubscriptionEndpoint for SubscribeModEventsEndpoint {
1067 const PATH: &'static str = "/xrpc/chat.bsky.moderation.subscribeModEvents";
1068 const ENCODING: jacquard_common::xrpc::MessageEncoding =
1069 jacquard_common::xrpc::MessageEncoding::Json;
1070 type Params<S: BosStr> = SubscribeModEvents<S>;
1071 type Stream = SubscribeModEventsStream;
1072}
1073
1074pub mod event_chat_accepted_state {
1075
1076 pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
1077 #[allow(unused)]
1078 use ::core::marker::PhantomData;
1079 mod sealed {
1080 pub trait Sealed {}
1081 }
1082 pub trait State: sealed::Sealed {
1084 type ActorDid;
1085 type ConvoCreatedAt;
1086 type ConvoId;
1087 type CreatedAt;
1088 type Method;
1089 type Rev;
1090 }
1091 pub struct Empty(());
1093 impl sealed::Sealed for Empty {}
1094 impl State for Empty {
1095 type ActorDid = Unset;
1096 type ConvoCreatedAt = Unset;
1097 type ConvoId = Unset;
1098 type CreatedAt = Unset;
1099 type Method = Unset;
1100 type Rev = Unset;
1101 }
1102 pub struct SetActorDid<St: State = Empty>(PhantomData<fn() -> St>);
1104 impl<St: State> sealed::Sealed for SetActorDid<St> {}
1105 impl<St: State> State for SetActorDid<St> {
1106 type ActorDid = Set<members::actor_did>;
1107 type ConvoCreatedAt = St::ConvoCreatedAt;
1108 type ConvoId = St::ConvoId;
1109 type CreatedAt = St::CreatedAt;
1110 type Method = St::Method;
1111 type Rev = St::Rev;
1112 }
1113 pub struct SetConvoCreatedAt<St: State = Empty>(PhantomData<fn() -> St>);
1115 impl<St: State> sealed::Sealed for SetConvoCreatedAt<St> {}
1116 impl<St: State> State for SetConvoCreatedAt<St> {
1117 type ActorDid = St::ActorDid;
1118 type ConvoCreatedAt = Set<members::convo_created_at>;
1119 type ConvoId = St::ConvoId;
1120 type CreatedAt = St::CreatedAt;
1121 type Method = St::Method;
1122 type Rev = St::Rev;
1123 }
1124 pub struct SetConvoId<St: State = Empty>(PhantomData<fn() -> St>);
1126 impl<St: State> sealed::Sealed for SetConvoId<St> {}
1127 impl<St: State> State for SetConvoId<St> {
1128 type ActorDid = St::ActorDid;
1129 type ConvoCreatedAt = St::ConvoCreatedAt;
1130 type ConvoId = Set<members::convo_id>;
1131 type CreatedAt = St::CreatedAt;
1132 type Method = St::Method;
1133 type Rev = St::Rev;
1134 }
1135 pub struct SetCreatedAt<St: State = Empty>(PhantomData<fn() -> St>);
1137 impl<St: State> sealed::Sealed for SetCreatedAt<St> {}
1138 impl<St: State> State for SetCreatedAt<St> {
1139 type ActorDid = St::ActorDid;
1140 type ConvoCreatedAt = St::ConvoCreatedAt;
1141 type ConvoId = St::ConvoId;
1142 type CreatedAt = Set<members::created_at>;
1143 type Method = St::Method;
1144 type Rev = St::Rev;
1145 }
1146 pub struct SetMethod<St: State = Empty>(PhantomData<fn() -> St>);
1148 impl<St: State> sealed::Sealed for SetMethod<St> {}
1149 impl<St: State> State for SetMethod<St> {
1150 type ActorDid = St::ActorDid;
1151 type ConvoCreatedAt = St::ConvoCreatedAt;
1152 type ConvoId = St::ConvoId;
1153 type CreatedAt = St::CreatedAt;
1154 type Method = Set<members::method>;
1155 type Rev = St::Rev;
1156 }
1157 pub struct SetRev<St: State = Empty>(PhantomData<fn() -> St>);
1159 impl<St: State> sealed::Sealed for SetRev<St> {}
1160 impl<St: State> State for SetRev<St> {
1161 type ActorDid = St::ActorDid;
1162 type ConvoCreatedAt = St::ConvoCreatedAt;
1163 type ConvoId = St::ConvoId;
1164 type CreatedAt = St::CreatedAt;
1165 type Method = St::Method;
1166 type Rev = Set<members::rev>;
1167 }
1168 #[allow(non_camel_case_types)]
1170 pub mod members {
1171 pub struct actor_did(());
1173 pub struct convo_created_at(());
1175 pub struct convo_id(());
1177 pub struct created_at(());
1179 pub struct method(());
1181 pub struct rev(());
1183 }
1184}
1185
1186pub struct EventChatAcceptedBuilder<St: event_chat_accepted_state::State, S: BosStr = DefaultStr> {
1188 _state: PhantomData<fn() -> St>,
1189 _fields: (
1190 Option<Did<S>>,
1191 Option<Datetime>,
1192 Option<S>,
1193 Option<Datetime>,
1194 Option<i64>,
1195 Option<S>,
1196 Option<EventChatAcceptedMethod<S>>,
1197 Option<Did<S>>,
1198 Option<S>,
1199 ),
1200 _type: PhantomData<fn() -> S>,
1201}
1202
1203impl EventChatAccepted<DefaultStr> {
1204 pub fn new() -> EventChatAcceptedBuilder<event_chat_accepted_state::Empty, DefaultStr> {
1206 EventChatAcceptedBuilder::new()
1207 }
1208}
1209
1210impl<S: BosStr> EventChatAccepted<S> {
1211 pub fn builder() -> EventChatAcceptedBuilder<event_chat_accepted_state::Empty, S> {
1213 EventChatAcceptedBuilder::builder()
1214 }
1215}
1216
1217impl EventChatAcceptedBuilder<event_chat_accepted_state::Empty, DefaultStr> {
1218 pub fn new() -> Self {
1220 EventChatAcceptedBuilder {
1221 _state: PhantomData,
1222 _fields: (None, None, None, None, None, None, None, None, None),
1223 _type: PhantomData,
1224 }
1225 }
1226}
1227
1228impl<S: BosStr> EventChatAcceptedBuilder<event_chat_accepted_state::Empty, S> {
1229 pub fn builder() -> Self {
1231 EventChatAcceptedBuilder {
1232 _state: PhantomData,
1233 _fields: (None, None, None, None, None, None, None, None, None),
1234 _type: PhantomData,
1235 }
1236 }
1237}
1238
1239impl<St, S: BosStr> EventChatAcceptedBuilder<St, S>
1240where
1241 St: event_chat_accepted_state::State,
1242 St::ActorDid: event_chat_accepted_state::IsUnset,
1243{
1244 pub fn actor_did(
1246 mut self,
1247 value: impl Into<Did<S>>,
1248 ) -> EventChatAcceptedBuilder<event_chat_accepted_state::SetActorDid<St>, S> {
1249 self._fields.0 = Option::Some(value.into());
1250 EventChatAcceptedBuilder {
1251 _state: PhantomData,
1252 _fields: self._fields,
1253 _type: PhantomData,
1254 }
1255 }
1256}
1257
1258impl<St, S: BosStr> EventChatAcceptedBuilder<St, S>
1259where
1260 St: event_chat_accepted_state::State,
1261 St::ConvoCreatedAt: event_chat_accepted_state::IsUnset,
1262{
1263 pub fn convo_created_at(
1265 mut self,
1266 value: impl Into<Datetime>,
1267 ) -> EventChatAcceptedBuilder<event_chat_accepted_state::SetConvoCreatedAt<St>, S> {
1268 self._fields.1 = Option::Some(value.into());
1269 EventChatAcceptedBuilder {
1270 _state: PhantomData,
1271 _fields: self._fields,
1272 _type: PhantomData,
1273 }
1274 }
1275}
1276
1277impl<St, S: BosStr> EventChatAcceptedBuilder<St, S>
1278where
1279 St: event_chat_accepted_state::State,
1280 St::ConvoId: event_chat_accepted_state::IsUnset,
1281{
1282 pub fn convo_id(
1284 mut self,
1285 value: impl Into<S>,
1286 ) -> EventChatAcceptedBuilder<event_chat_accepted_state::SetConvoId<St>, S> {
1287 self._fields.2 = Option::Some(value.into());
1288 EventChatAcceptedBuilder {
1289 _state: PhantomData,
1290 _fields: self._fields,
1291 _type: PhantomData,
1292 }
1293 }
1294}
1295
1296impl<St, S: BosStr> EventChatAcceptedBuilder<St, S>
1297where
1298 St: event_chat_accepted_state::State,
1299 St::CreatedAt: event_chat_accepted_state::IsUnset,
1300{
1301 pub fn created_at(
1303 mut self,
1304 value: impl Into<Datetime>,
1305 ) -> EventChatAcceptedBuilder<event_chat_accepted_state::SetCreatedAt<St>, S> {
1306 self._fields.3 = Option::Some(value.into());
1307 EventChatAcceptedBuilder {
1308 _state: PhantomData,
1309 _fields: self._fields,
1310 _type: PhantomData,
1311 }
1312 }
1313}
1314
1315impl<St: event_chat_accepted_state::State, S: BosStr> EventChatAcceptedBuilder<St, S> {
1316 pub fn group_member_count(mut self, value: impl Into<Option<i64>>) -> Self {
1318 self._fields.4 = value.into();
1319 self
1320 }
1321 pub fn maybe_group_member_count(mut self, value: Option<i64>) -> Self {
1323 self._fields.4 = value;
1324 self
1325 }
1326}
1327
1328impl<St: event_chat_accepted_state::State, S: BosStr> EventChatAcceptedBuilder<St, S> {
1329 pub fn group_name(mut self, value: impl Into<Option<S>>) -> Self {
1331 self._fields.5 = value.into();
1332 self
1333 }
1334 pub fn maybe_group_name(mut self, value: Option<S>) -> Self {
1336 self._fields.5 = value;
1337 self
1338 }
1339}
1340
1341impl<St, S: BosStr> EventChatAcceptedBuilder<St, S>
1342where
1343 St: event_chat_accepted_state::State,
1344 St::Method: event_chat_accepted_state::IsUnset,
1345{
1346 pub fn method(
1348 mut self,
1349 value: impl Into<EventChatAcceptedMethod<S>>,
1350 ) -> EventChatAcceptedBuilder<event_chat_accepted_state::SetMethod<St>, S> {
1351 self._fields.6 = Option::Some(value.into());
1352 EventChatAcceptedBuilder {
1353 _state: PhantomData,
1354 _fields: self._fields,
1355 _type: PhantomData,
1356 }
1357 }
1358}
1359
1360impl<St: event_chat_accepted_state::State, S: BosStr> EventChatAcceptedBuilder<St, S> {
1361 pub fn owner_did(mut self, value: impl Into<Option<Did<S>>>) -> Self {
1363 self._fields.7 = value.into();
1364 self
1365 }
1366 pub fn maybe_owner_did(mut self, value: Option<Did<S>>) -> Self {
1368 self._fields.7 = value;
1369 self
1370 }
1371}
1372
1373impl<St, S: BosStr> EventChatAcceptedBuilder<St, S>
1374where
1375 St: event_chat_accepted_state::State,
1376 St::Rev: event_chat_accepted_state::IsUnset,
1377{
1378 pub fn rev(
1380 mut self,
1381 value: impl Into<S>,
1382 ) -> EventChatAcceptedBuilder<event_chat_accepted_state::SetRev<St>, S> {
1383 self._fields.8 = Option::Some(value.into());
1384 EventChatAcceptedBuilder {
1385 _state: PhantomData,
1386 _fields: self._fields,
1387 _type: PhantomData,
1388 }
1389 }
1390}
1391
1392impl<St, S: BosStr> EventChatAcceptedBuilder<St, S>
1393where
1394 St: event_chat_accepted_state::State,
1395 St::ActorDid: event_chat_accepted_state::IsSet,
1396 St::ConvoCreatedAt: event_chat_accepted_state::IsSet,
1397 St::ConvoId: event_chat_accepted_state::IsSet,
1398 St::CreatedAt: event_chat_accepted_state::IsSet,
1399 St::Method: event_chat_accepted_state::IsSet,
1400 St::Rev: event_chat_accepted_state::IsSet,
1401{
1402 pub fn build(self) -> EventChatAccepted<S> {
1404 EventChatAccepted {
1405 actor_did: self._fields.0.unwrap(),
1406 convo_created_at: self._fields.1.unwrap(),
1407 convo_id: self._fields.2.unwrap(),
1408 created_at: self._fields.3.unwrap(),
1409 group_member_count: self._fields.4,
1410 group_name: self._fields.5,
1411 method: self._fields.6.unwrap(),
1412 owner_did: self._fields.7,
1413 rev: self._fields.8.unwrap(),
1414 extra_data: Default::default(),
1415 }
1416 }
1417 pub fn build_with_data(self, extra_data: BTreeMap<SmolStr, Data<S>>) -> EventChatAccepted<S> {
1419 EventChatAccepted {
1420 actor_did: self._fields.0.unwrap(),
1421 convo_created_at: self._fields.1.unwrap(),
1422 convo_id: self._fields.2.unwrap(),
1423 created_at: self._fields.3.unwrap(),
1424 group_member_count: self._fields.4,
1425 group_name: self._fields.5,
1426 method: self._fields.6.unwrap(),
1427 owner_did: self._fields.7,
1428 rev: self._fields.8.unwrap(),
1429 extra_data: Some(extra_data),
1430 }
1431 }
1432}
1433
1434fn lexicon_doc_chat_bsky_moderation_subscribeModEvents() -> LexiconDoc<'static> {
1435 use alloc::collections::BTreeMap;
1436 #[allow(unused_imports)]
1437 use jacquard_common::{CowStr, deps::smol_str::SmolStr, types::blob::MimeType};
1438 use jacquard_lexicon::lexicon::*;
1439 LexiconDoc {
1440 lexicon: Lexicon::Lexicon1,
1441 id: CowStr::new_static("chat.bsky.moderation.subscribeModEvents"),
1442 defs: {
1443 let mut map = BTreeMap::new();
1444 map.insert(
1445 SmolStr::new_static("eventChatAccepted"),
1446 LexUserType::Object(LexObject {
1447 description: Some(
1448 CowStr::new_static(
1449 "Fired when a user accepts a chat convo, either explicitly or by sending a message.",
1450 ),
1451 ),
1452 required: Some(
1453 vec![
1454 SmolStr::new_static("actorDid"),
1455 SmolStr::new_static("convoCreatedAt"),
1456 SmolStr::new_static("convoId"),
1457 SmolStr::new_static("createdAt"),
1458 SmolStr::new_static("method"), SmolStr::new_static("rev")
1459 ],
1460 ),
1461 properties: {
1462 #[allow(unused_mut)]
1463 let mut map = BTreeMap::new();
1464 map.insert(
1465 SmolStr::new_static("actorDid"),
1466 LexObjectProperty::String(LexString {
1467 description: Some(
1468 CowStr::new_static(
1469 "The DID of the person accepting the convo.",
1470 ),
1471 ),
1472 format: Some(LexStringFormat::Did),
1473 ..Default::default()
1474 }),
1475 );
1476 map.insert(
1477 SmolStr::new_static("convoCreatedAt"),
1478 LexObjectProperty::String(LexString {
1479 description: Some(
1480 CowStr::new_static("When the convo was originally created."),
1481 ),
1482 format: Some(LexStringFormat::Datetime),
1483 ..Default::default()
1484 }),
1485 );
1486 map.insert(
1487 SmolStr::new_static("convoId"),
1488 LexObjectProperty::String(LexString { ..Default::default() }),
1489 );
1490 map.insert(
1491 SmolStr::new_static("createdAt"),
1492 LexObjectProperty::String(LexString {
1493 format: Some(LexStringFormat::Datetime),
1494 ..Default::default()
1495 }),
1496 );
1497 map.insert(
1498 SmolStr::new_static("groupMemberCount"),
1499 LexObjectProperty::Integer(LexInteger {
1500 ..Default::default()
1501 }),
1502 );
1503 map.insert(
1504 SmolStr::new_static("groupName"),
1505 LexObjectProperty::String(LexString {
1506 description: Some(
1507 CowStr::new_static(
1508 "The name of the group chat. Only present for group convos.",
1509 ),
1510 ),
1511 ..Default::default()
1512 }),
1513 );
1514 map.insert(
1515 SmolStr::new_static("method"),
1516 LexObjectProperty::String(LexString {
1517 description: Some(
1518 CowStr::new_static("How the convo was accepted."),
1519 ),
1520 ..Default::default()
1521 }),
1522 );
1523 map.insert(
1524 SmolStr::new_static("ownerDid"),
1525 LexObjectProperty::String(LexString {
1526 description: Some(
1527 CowStr::new_static(
1528 "The DID of the group chat owner. Only present for group convos.",
1529 ),
1530 ),
1531 format: Some(LexStringFormat::Did),
1532 ..Default::default()
1533 }),
1534 );
1535 map.insert(
1536 SmolStr::new_static("rev"),
1537 LexObjectProperty::String(LexString { ..Default::default() }),
1538 );
1539 map
1540 },
1541 ..Default::default()
1542 }),
1543 );
1544 map.insert(
1545 SmolStr::new_static("eventConvoFirstMessage"),
1546 LexUserType::Object(LexObject {
1547 description: Some(
1548 CowStr::new_static(
1549 "Fired when the first message was sent on a convo.",
1550 ),
1551 ),
1552 required: Some(
1553 vec![
1554 SmolStr::new_static("createdAt"), SmolStr::new_static("rev"),
1555 SmolStr::new_static("convoId"), SmolStr::new_static("user"),
1556 SmolStr::new_static("recipients")
1557 ],
1558 ),
1559 properties: {
1560 #[allow(unused_mut)]
1561 let mut map = BTreeMap::new();
1562 map.insert(
1563 SmolStr::new_static("convoId"),
1564 LexObjectProperty::String(LexString { ..Default::default() }),
1565 );
1566 map.insert(
1567 SmolStr::new_static("createdAt"),
1568 LexObjectProperty::String(LexString {
1569 format: Some(LexStringFormat::Datetime),
1570 ..Default::default()
1571 }),
1572 );
1573 map.insert(
1574 SmolStr::new_static("messageId"),
1575 LexObjectProperty::String(LexString { ..Default::default() }),
1576 );
1577 map.insert(
1578 SmolStr::new_static("recipients"),
1579 LexObjectProperty::Array(LexArray {
1580 description: Some(
1581 CowStr::new_static(
1582 "The list of DIDs message recipients. Does not include the sender, which is in the `user` field",
1583 ),
1584 ),
1585 items: LexArrayItem::String(LexString {
1586 format: Some(LexStringFormat::Did),
1587 ..Default::default()
1588 }),
1589 ..Default::default()
1590 }),
1591 );
1592 map.insert(
1593 SmolStr::new_static("rev"),
1594 LexObjectProperty::String(LexString { ..Default::default() }),
1595 );
1596 map.insert(
1597 SmolStr::new_static("user"),
1598 LexObjectProperty::String(LexString {
1599 description: Some(
1600 CowStr::new_static("The DID of the message author."),
1601 ),
1602 format: Some(LexStringFormat::Did),
1603 ..Default::default()
1604 }),
1605 );
1606 map
1607 },
1608 ..Default::default()
1609 }),
1610 );
1611 map.insert(
1612 SmolStr::new_static("eventGroupChatCreated"),
1613 LexUserType::Object(LexObject {
1614 description: Some(
1615 CowStr::new_static("Fire when a group chat is created."),
1616 ),
1617 required: Some(
1618 vec![
1619 SmolStr::new_static("actorDid"),
1620 SmolStr::new_static("convoCreatedAt"),
1621 SmolStr::new_static("convoId"),
1622 SmolStr::new_static("createdAt"),
1623 SmolStr::new_static("groupMemberCount"),
1624 SmolStr::new_static("groupName"),
1625 SmolStr::new_static("initialMemberDids"),
1626 SmolStr::new_static("ownerDid"), SmolStr::new_static("rev")
1627 ],
1628 ),
1629 properties: {
1630 #[allow(unused_mut)]
1631 let mut map = BTreeMap::new();
1632 map.insert(
1633 SmolStr::new_static("actorDid"),
1634 LexObjectProperty::String(LexString {
1635 description: Some(
1636 CowStr::new_static(
1637 "The DID of the actor performing the action. For this event, same as ownerDid.",
1638 ),
1639 ),
1640 format: Some(LexStringFormat::Did),
1641 ..Default::default()
1642 }),
1643 );
1644 map.insert(
1645 SmolStr::new_static("convoCreatedAt"),
1646 LexObjectProperty::String(LexString {
1647 description: Some(
1648 CowStr::new_static("When the group was originally created."),
1649 ),
1650 format: Some(LexStringFormat::Datetime),
1651 ..Default::default()
1652 }),
1653 );
1654 map.insert(
1655 SmolStr::new_static("convoId"),
1656 LexObjectProperty::String(LexString { ..Default::default() }),
1657 );
1658 map.insert(
1659 SmolStr::new_static("createdAt"),
1660 LexObjectProperty::String(LexString {
1661 format: Some(LexStringFormat::Datetime),
1662 ..Default::default()
1663 }),
1664 );
1665 map.insert(
1666 SmolStr::new_static("groupMemberCount"),
1667 LexObjectProperty::Integer(LexInteger {
1668 ..Default::default()
1669 }),
1670 );
1671 map.insert(
1672 SmolStr::new_static("groupName"),
1673 LexObjectProperty::String(LexString {
1674 description: Some(
1675 CowStr::new_static("The name set at creation time."),
1676 ),
1677 ..Default::default()
1678 }),
1679 );
1680 map.insert(
1681 SmolStr::new_static("initialMemberDids"),
1682 LexObjectProperty::Array(LexArray {
1683 description: Some(
1684 CowStr::new_static(
1685 "DIDs of everyone added at creation time.",
1686 ),
1687 ),
1688 items: LexArrayItem::String(LexString {
1689 format: Some(LexStringFormat::Did),
1690 ..Default::default()
1691 }),
1692 ..Default::default()
1693 }),
1694 );
1695 map.insert(
1696 SmolStr::new_static("ownerDid"),
1697 LexObjectProperty::String(LexString {
1698 description: Some(
1699 CowStr::new_static("The DID of the group chat owner."),
1700 ),
1701 format: Some(LexStringFormat::Did),
1702 ..Default::default()
1703 }),
1704 );
1705 map.insert(
1706 SmolStr::new_static("rev"),
1707 LexObjectProperty::String(LexString { ..Default::default() }),
1708 );
1709 map
1710 },
1711 ..Default::default()
1712 }),
1713 );
1714 map.insert(
1715 SmolStr::new_static("eventGroupChatJoinRequest"),
1716 LexUserType::Object(LexObject {
1717 description: Some(
1718 CowStr::new_static(
1719 "Fired when a user requests to join a group chat via an join link that requires approval.",
1720 ),
1721 ),
1722 required: Some(
1723 vec![
1724 SmolStr::new_static("actorDid"),
1725 SmolStr::new_static("convoCreatedAt"),
1726 SmolStr::new_static("convoId"),
1727 SmolStr::new_static("createdAt"),
1728 SmolStr::new_static("groupMemberCount"),
1729 SmolStr::new_static("groupName"),
1730 SmolStr::new_static("joinLinkCode"),
1731 SmolStr::new_static("ownerDid"), SmolStr::new_static("rev"),
1732 SmolStr::new_static("subjectFollowsOwner")
1733 ],
1734 ),
1735 properties: {
1736 #[allow(unused_mut)]
1737 let mut map = BTreeMap::new();
1738 map.insert(
1739 SmolStr::new_static("actorDid"),
1740 LexObjectProperty::String(LexString {
1741 description: Some(
1742 CowStr::new_static(
1743 "The DID of the person requesting to join.",
1744 ),
1745 ),
1746 format: Some(LexStringFormat::Did),
1747 ..Default::default()
1748 }),
1749 );
1750 map.insert(
1751 SmolStr::new_static("convoCreatedAt"),
1752 LexObjectProperty::String(LexString {
1753 description: Some(
1754 CowStr::new_static("When the group was originally created."),
1755 ),
1756 format: Some(LexStringFormat::Datetime),
1757 ..Default::default()
1758 }),
1759 );
1760 map.insert(
1761 SmolStr::new_static("convoId"),
1762 LexObjectProperty::String(LexString { ..Default::default() }),
1763 );
1764 map.insert(
1765 SmolStr::new_static("createdAt"),
1766 LexObjectProperty::String(LexString {
1767 format: Some(LexStringFormat::Datetime),
1768 ..Default::default()
1769 }),
1770 );
1771 map.insert(
1772 SmolStr::new_static("groupMemberCount"),
1773 LexObjectProperty::Integer(LexInteger {
1774 ..Default::default()
1775 }),
1776 );
1777 map.insert(
1778 SmolStr::new_static("groupName"),
1779 LexObjectProperty::String(LexString { ..Default::default() }),
1780 );
1781 map.insert(
1782 SmolStr::new_static("joinLinkCode"),
1783 LexObjectProperty::String(LexString {
1784 description: Some(
1785 CowStr::new_static(
1786 "The code of the join link used to request joining.",
1787 ),
1788 ),
1789 ..Default::default()
1790 }),
1791 );
1792 map.insert(
1793 SmolStr::new_static("ownerDid"),
1794 LexObjectProperty::String(LexString {
1795 description: Some(
1796 CowStr::new_static("The DID of the group chat owner."),
1797 ),
1798 format: Some(LexStringFormat::Did),
1799 ..Default::default()
1800 }),
1801 );
1802 map.insert(
1803 SmolStr::new_static("rev"),
1804 LexObjectProperty::String(LexString { ..Default::default() }),
1805 );
1806 map.insert(
1807 SmolStr::new_static("subjectFollowsOwner"),
1808 LexObjectProperty::Boolean(LexBoolean {
1809 ..Default::default()
1810 }),
1811 );
1812 map
1813 },
1814 ..Default::default()
1815 }),
1816 );
1817 map.insert(
1818 SmolStr::new_static("eventGroupChatJoinRequestApproved"),
1819 LexUserType::Object(LexObject {
1820 description: Some(CowStr::new_static(
1821 "Fired when a join request is approved by the group owner.",
1822 )),
1823 required: Some(vec![
1824 SmolStr::new_static("actorDid"),
1825 SmolStr::new_static("convoCreatedAt"),
1826 SmolStr::new_static("convoId"),
1827 SmolStr::new_static("createdAt"),
1828 SmolStr::new_static("groupMemberCount"),
1829 SmolStr::new_static("groupName"),
1830 SmolStr::new_static("ownerDid"),
1831 SmolStr::new_static("rev"),
1832 SmolStr::new_static("subjectDid"),
1833 ]),
1834 properties: {
1835 #[allow(unused_mut)]
1836 let mut map = BTreeMap::new();
1837 map.insert(
1838 SmolStr::new_static("actorDid"),
1839 LexObjectProperty::String(LexString {
1840 description: Some(CowStr::new_static(
1841 "The DID of the owner approving the request.",
1842 )),
1843 format: Some(LexStringFormat::Did),
1844 ..Default::default()
1845 }),
1846 );
1847 map.insert(
1848 SmolStr::new_static("convoCreatedAt"),
1849 LexObjectProperty::String(LexString {
1850 description: Some(CowStr::new_static(
1851 "When the group was originally created.",
1852 )),
1853 format: Some(LexStringFormat::Datetime),
1854 ..Default::default()
1855 }),
1856 );
1857 map.insert(
1858 SmolStr::new_static("convoId"),
1859 LexObjectProperty::String(LexString {
1860 ..Default::default()
1861 }),
1862 );
1863 map.insert(
1864 SmolStr::new_static("createdAt"),
1865 LexObjectProperty::String(LexString {
1866 format: Some(LexStringFormat::Datetime),
1867 ..Default::default()
1868 }),
1869 );
1870 map.insert(
1871 SmolStr::new_static("groupMemberCount"),
1872 LexObjectProperty::Integer(LexInteger {
1873 ..Default::default()
1874 }),
1875 );
1876 map.insert(
1877 SmolStr::new_static("groupName"),
1878 LexObjectProperty::String(LexString {
1879 ..Default::default()
1880 }),
1881 );
1882 map.insert(
1883 SmolStr::new_static("ownerDid"),
1884 LexObjectProperty::String(LexString {
1885 description: Some(CowStr::new_static(
1886 "The DID of the group chat owner.",
1887 )),
1888 format: Some(LexStringFormat::Did),
1889 ..Default::default()
1890 }),
1891 );
1892 map.insert(
1893 SmolStr::new_static("rev"),
1894 LexObjectProperty::String(LexString {
1895 ..Default::default()
1896 }),
1897 );
1898 map.insert(
1899 SmolStr::new_static("subjectDid"),
1900 LexObjectProperty::String(LexString {
1901 description: Some(CowStr::new_static(
1902 "The DID of the member whose request was approved.",
1903 )),
1904 format: Some(LexStringFormat::Did),
1905 ..Default::default()
1906 }),
1907 );
1908 map
1909 },
1910 ..Default::default()
1911 }),
1912 );
1913 map.insert(
1914 SmolStr::new_static("eventGroupChatJoinRequestRejected"),
1915 LexUserType::Object(LexObject {
1916 description: Some(CowStr::new_static(
1917 "Fired when a join request is rejected by the group owner.",
1918 )),
1919 required: Some(vec![
1920 SmolStr::new_static("actorDid"),
1921 SmolStr::new_static("convoCreatedAt"),
1922 SmolStr::new_static("convoId"),
1923 SmolStr::new_static("createdAt"),
1924 SmolStr::new_static("groupMemberCount"),
1925 SmolStr::new_static("groupName"),
1926 SmolStr::new_static("ownerDid"),
1927 SmolStr::new_static("rev"),
1928 SmolStr::new_static("subjectDid"),
1929 ]),
1930 properties: {
1931 #[allow(unused_mut)]
1932 let mut map = BTreeMap::new();
1933 map.insert(
1934 SmolStr::new_static("actorDid"),
1935 LexObjectProperty::String(LexString {
1936 description: Some(CowStr::new_static(
1937 "The DID of the owner rejecting the request.",
1938 )),
1939 format: Some(LexStringFormat::Did),
1940 ..Default::default()
1941 }),
1942 );
1943 map.insert(
1944 SmolStr::new_static("convoCreatedAt"),
1945 LexObjectProperty::String(LexString {
1946 description: Some(CowStr::new_static(
1947 "When the group was originally created.",
1948 )),
1949 format: Some(LexStringFormat::Datetime),
1950 ..Default::default()
1951 }),
1952 );
1953 map.insert(
1954 SmolStr::new_static("convoId"),
1955 LexObjectProperty::String(LexString {
1956 ..Default::default()
1957 }),
1958 );
1959 map.insert(
1960 SmolStr::new_static("createdAt"),
1961 LexObjectProperty::String(LexString {
1962 format: Some(LexStringFormat::Datetime),
1963 ..Default::default()
1964 }),
1965 );
1966 map.insert(
1967 SmolStr::new_static("groupMemberCount"),
1968 LexObjectProperty::Integer(LexInteger {
1969 ..Default::default()
1970 }),
1971 );
1972 map.insert(
1973 SmolStr::new_static("groupName"),
1974 LexObjectProperty::String(LexString {
1975 ..Default::default()
1976 }),
1977 );
1978 map.insert(
1979 SmolStr::new_static("ownerDid"),
1980 LexObjectProperty::String(LexString {
1981 description: Some(CowStr::new_static(
1982 "The DID of the group chat owner.",
1983 )),
1984 format: Some(LexStringFormat::Did),
1985 ..Default::default()
1986 }),
1987 );
1988 map.insert(
1989 SmolStr::new_static("rev"),
1990 LexObjectProperty::String(LexString {
1991 ..Default::default()
1992 }),
1993 );
1994 map.insert(
1995 SmolStr::new_static("subjectDid"),
1996 LexObjectProperty::String(LexString {
1997 description: Some(CowStr::new_static(
1998 "The DID of the member whose request was rejected.",
1999 )),
2000 format: Some(LexStringFormat::Did),
2001 ..Default::default()
2002 }),
2003 );
2004 map
2005 },
2006 ..Default::default()
2007 }),
2008 );
2009 map.insert(
2010 SmolStr::new_static("eventGroupChatMemberAdded"),
2011 LexUserType::Object(LexObject {
2012 description: Some(
2013 CowStr::new_static(
2014 "Fired when a member is added to a group chat. Note that members are added in the 'request' state.",
2015 ),
2016 ),
2017 required: Some(
2018 vec![
2019 SmolStr::new_static("actorDid"),
2020 SmolStr::new_static("convoCreatedAt"),
2021 SmolStr::new_static("convoId"),
2022 SmolStr::new_static("createdAt"),
2023 SmolStr::new_static("groupMemberCount"),
2024 SmolStr::new_static("groupName"),
2025 SmolStr::new_static("ownerDid"),
2026 SmolStr::new_static("requestMembersCount"),
2027 SmolStr::new_static("rev"),
2028 SmolStr::new_static("subjectDid"),
2029 SmolStr::new_static("subjectFollowsOwner")
2030 ],
2031 ),
2032 properties: {
2033 #[allow(unused_mut)]
2034 let mut map = BTreeMap::new();
2035 map.insert(
2036 SmolStr::new_static("actorDid"),
2037 LexObjectProperty::String(LexString {
2038 description: Some(
2039 CowStr::new_static(
2040 "The DID of the actor performing the action. For this event, same as ownerDid.",
2041 ),
2042 ),
2043 format: Some(LexStringFormat::Did),
2044 ..Default::default()
2045 }),
2046 );
2047 map.insert(
2048 SmolStr::new_static("convoCreatedAt"),
2049 LexObjectProperty::String(LexString {
2050 description: Some(
2051 CowStr::new_static("When the group was originally created."),
2052 ),
2053 format: Some(LexStringFormat::Datetime),
2054 ..Default::default()
2055 }),
2056 );
2057 map.insert(
2058 SmolStr::new_static("convoId"),
2059 LexObjectProperty::String(LexString { ..Default::default() }),
2060 );
2061 map.insert(
2062 SmolStr::new_static("createdAt"),
2063 LexObjectProperty::String(LexString {
2064 format: Some(LexStringFormat::Datetime),
2065 ..Default::default()
2066 }),
2067 );
2068 map.insert(
2069 SmolStr::new_static("groupMemberCount"),
2070 LexObjectProperty::Integer(LexInteger {
2071 ..Default::default()
2072 }),
2073 );
2074 map.insert(
2075 SmolStr::new_static("groupName"),
2076 LexObjectProperty::String(LexString { ..Default::default() }),
2077 );
2078 map.insert(
2079 SmolStr::new_static("ownerDid"),
2080 LexObjectProperty::String(LexString {
2081 description: Some(
2082 CowStr::new_static("The DID of the group chat owner."),
2083 ),
2084 format: Some(LexStringFormat::Did),
2085 ..Default::default()
2086 }),
2087 );
2088 map.insert(
2089 SmolStr::new_static("requestMembersCount"),
2090 LexObjectProperty::Integer(LexInteger {
2091 ..Default::default()
2092 }),
2093 );
2094 map.insert(
2095 SmolStr::new_static("rev"),
2096 LexObjectProperty::String(LexString { ..Default::default() }),
2097 );
2098 map.insert(
2099 SmolStr::new_static("subjectDid"),
2100 LexObjectProperty::String(LexString {
2101 description: Some(
2102 CowStr::new_static("The DID of the member who was added."),
2103 ),
2104 format: Some(LexStringFormat::Did),
2105 ..Default::default()
2106 }),
2107 );
2108 map.insert(
2109 SmolStr::new_static("subjectFollowsOwner"),
2110 LexObjectProperty::Boolean(LexBoolean {
2111 ..Default::default()
2112 }),
2113 );
2114 map
2115 },
2116 ..Default::default()
2117 }),
2118 );
2119 map.insert(
2120 SmolStr::new_static("eventGroupChatMemberJoined"),
2121 LexUserType::Object(LexObject {
2122 description: Some(
2123 CowStr::new_static(
2124 "Fired when a member joins a group chat via an join link that does not require approval.",
2125 ),
2126 ),
2127 required: Some(
2128 vec![
2129 SmolStr::new_static("actorDid"),
2130 SmolStr::new_static("convoCreatedAt"),
2131 SmolStr::new_static("convoId"),
2132 SmolStr::new_static("createdAt"),
2133 SmolStr::new_static("groupMemberCount"),
2134 SmolStr::new_static("groupName"),
2135 SmolStr::new_static("joinLinkCode"),
2136 SmolStr::new_static("ownerDid"), SmolStr::new_static("rev"),
2137 SmolStr::new_static("subjectFollowsOwner")
2138 ],
2139 ),
2140 properties: {
2141 #[allow(unused_mut)]
2142 let mut map = BTreeMap::new();
2143 map.insert(
2144 SmolStr::new_static("actorDid"),
2145 LexObjectProperty::String(LexString {
2146 description: Some(
2147 CowStr::new_static("The DID of the person joining."),
2148 ),
2149 format: Some(LexStringFormat::Did),
2150 ..Default::default()
2151 }),
2152 );
2153 map.insert(
2154 SmolStr::new_static("convoCreatedAt"),
2155 LexObjectProperty::String(LexString {
2156 description: Some(
2157 CowStr::new_static("When the group was originally created."),
2158 ),
2159 format: Some(LexStringFormat::Datetime),
2160 ..Default::default()
2161 }),
2162 );
2163 map.insert(
2164 SmolStr::new_static("convoId"),
2165 LexObjectProperty::String(LexString { ..Default::default() }),
2166 );
2167 map.insert(
2168 SmolStr::new_static("createdAt"),
2169 LexObjectProperty::String(LexString {
2170 format: Some(LexStringFormat::Datetime),
2171 ..Default::default()
2172 }),
2173 );
2174 map.insert(
2175 SmolStr::new_static("groupMemberCount"),
2176 LexObjectProperty::Integer(LexInteger {
2177 ..Default::default()
2178 }),
2179 );
2180 map.insert(
2181 SmolStr::new_static("groupName"),
2182 LexObjectProperty::String(LexString { ..Default::default() }),
2183 );
2184 map.insert(
2185 SmolStr::new_static("joinLinkCode"),
2186 LexObjectProperty::String(LexString {
2187 description: Some(
2188 CowStr::new_static(
2189 "The code of the join link used to join.",
2190 ),
2191 ),
2192 ..Default::default()
2193 }),
2194 );
2195 map.insert(
2196 SmolStr::new_static("ownerDid"),
2197 LexObjectProperty::String(LexString {
2198 description: Some(
2199 CowStr::new_static("The DID of the group chat owner."),
2200 ),
2201 format: Some(LexStringFormat::Did),
2202 ..Default::default()
2203 }),
2204 );
2205 map.insert(
2206 SmolStr::new_static("rev"),
2207 LexObjectProperty::String(LexString { ..Default::default() }),
2208 );
2209 map.insert(
2210 SmolStr::new_static("subjectFollowsOwner"),
2211 LexObjectProperty::Boolean(LexBoolean {
2212 ..Default::default()
2213 }),
2214 );
2215 map
2216 },
2217 ..Default::default()
2218 }),
2219 );
2220 map.insert(
2221 SmolStr::new_static("eventGroupChatMemberLeft"),
2222 LexUserType::Object(LexObject {
2223 description: Some(
2224 CowStr::new_static(
2225 "Fired when a member leaves or is removed from a group chat.",
2226 ),
2227 ),
2228 required: Some(
2229 vec![
2230 SmolStr::new_static("actorDid"),
2231 SmolStr::new_static("convoCreatedAt"),
2232 SmolStr::new_static("convoId"),
2233 SmolStr::new_static("createdAt"),
2234 SmolStr::new_static("groupMemberCount"),
2235 SmolStr::new_static("groupName"),
2236 SmolStr::new_static("leaveMethod"),
2237 SmolStr::new_static("ownerDid"), SmolStr::new_static("rev"),
2238 SmolStr::new_static("subjectDid")
2239 ],
2240 ),
2241 properties: {
2242 #[allow(unused_mut)]
2243 let mut map = BTreeMap::new();
2244 map.insert(
2245 SmolStr::new_static("actorDid"),
2246 LexObjectProperty::String(LexString {
2247 description: Some(
2248 CowStr::new_static(
2249 "The DID of the actor. For voluntary: the person leaving. For kicked: the owner.",
2250 ),
2251 ),
2252 format: Some(LexStringFormat::Did),
2253 ..Default::default()
2254 }),
2255 );
2256 map.insert(
2257 SmolStr::new_static("convoCreatedAt"),
2258 LexObjectProperty::String(LexString {
2259 description: Some(
2260 CowStr::new_static("When the group was originally created."),
2261 ),
2262 format: Some(LexStringFormat::Datetime),
2263 ..Default::default()
2264 }),
2265 );
2266 map.insert(
2267 SmolStr::new_static("convoId"),
2268 LexObjectProperty::String(LexString { ..Default::default() }),
2269 );
2270 map.insert(
2271 SmolStr::new_static("createdAt"),
2272 LexObjectProperty::String(LexString {
2273 format: Some(LexStringFormat::Datetime),
2274 ..Default::default()
2275 }),
2276 );
2277 map.insert(
2278 SmolStr::new_static("groupMemberCount"),
2279 LexObjectProperty::Integer(LexInteger {
2280 ..Default::default()
2281 }),
2282 );
2283 map.insert(
2284 SmolStr::new_static("groupName"),
2285 LexObjectProperty::String(LexString { ..Default::default() }),
2286 );
2287 map.insert(
2288 SmolStr::new_static("leaveMethod"),
2289 LexObjectProperty::String(LexString {
2290 description: Some(
2291 CowStr::new_static("How the member left."),
2292 ),
2293 ..Default::default()
2294 }),
2295 );
2296 map.insert(
2297 SmolStr::new_static("ownerDid"),
2298 LexObjectProperty::String(LexString {
2299 description: Some(
2300 CowStr::new_static("The DID of the group chat owner."),
2301 ),
2302 format: Some(LexStringFormat::Did),
2303 ..Default::default()
2304 }),
2305 );
2306 map.insert(
2307 SmolStr::new_static("rev"),
2308 LexObjectProperty::String(LexString { ..Default::default() }),
2309 );
2310 map.insert(
2311 SmolStr::new_static("subjectDid"),
2312 LexObjectProperty::String(LexString {
2313 description: Some(
2314 CowStr::new_static(
2315 "The DID of the member who left or was removed.",
2316 ),
2317 ),
2318 format: Some(LexStringFormat::Did),
2319 ..Default::default()
2320 }),
2321 );
2322 map
2323 },
2324 ..Default::default()
2325 }),
2326 );
2327 map.insert(
2328 SmolStr::new_static("eventGroupChatUpdated"),
2329 LexUserType::Object(LexObject {
2330 description: Some(
2331 CowStr::new_static(
2332 "Fired when a group chat's metadata or status changes.",
2333 ),
2334 ),
2335 required: Some(
2336 vec![
2337 SmolStr::new_static("actorDid"),
2338 SmolStr::new_static("convoCreatedAt"),
2339 SmolStr::new_static("convoId"),
2340 SmolStr::new_static("createdAt"),
2341 SmolStr::new_static("groupMemberCount"),
2342 SmolStr::new_static("groupName"),
2343 SmolStr::new_static("ownerDid"), SmolStr::new_static("rev"),
2344 SmolStr::new_static("updateType")
2345 ],
2346 ),
2347 properties: {
2348 #[allow(unused_mut)]
2349 let mut map = BTreeMap::new();
2350 map.insert(
2351 SmolStr::new_static("actorDid"),
2352 LexObjectProperty::String(LexString {
2353 description: Some(
2354 CowStr::new_static(
2355 "The DID of the actor performing the action (the owner).",
2356 ),
2357 ),
2358 format: Some(LexStringFormat::Did),
2359 ..Default::default()
2360 }),
2361 );
2362 map.insert(
2363 SmolStr::new_static("convoCreatedAt"),
2364 LexObjectProperty::String(LexString {
2365 description: Some(
2366 CowStr::new_static("When the group was originally created."),
2367 ),
2368 format: Some(LexStringFormat::Datetime),
2369 ..Default::default()
2370 }),
2371 );
2372 map.insert(
2373 SmolStr::new_static("convoId"),
2374 LexObjectProperty::String(LexString { ..Default::default() }),
2375 );
2376 map.insert(
2377 SmolStr::new_static("createdAt"),
2378 LexObjectProperty::String(LexString {
2379 format: Some(LexStringFormat::Datetime),
2380 ..Default::default()
2381 }),
2382 );
2383 map.insert(
2384 SmolStr::new_static("groupMemberCount"),
2385 LexObjectProperty::Integer(LexInteger {
2386 ..Default::default()
2387 }),
2388 );
2389 map.insert(
2390 SmolStr::new_static("groupName"),
2391 LexObjectProperty::String(LexString {
2392 description: Some(
2393 CowStr::new_static("Current group name."),
2394 ),
2395 ..Default::default()
2396 }),
2397 );
2398 map.insert(
2399 SmolStr::new_static("joinLinkCode"),
2400 LexObjectProperty::String(LexString {
2401 description: Some(
2402 CowStr::new_static(
2403 "The code of the join link. Only present when updateType is join-link-related.",
2404 ),
2405 ),
2406 ..Default::default()
2407 }),
2408 );
2409 map.insert(
2410 SmolStr::new_static("joinLinkFollowersOnly"),
2411 LexObjectProperty::Boolean(LexBoolean {
2412 ..Default::default()
2413 }),
2414 );
2415 map.insert(
2416 SmolStr::new_static("joinLinkRequiresApproval"),
2417 LexObjectProperty::Boolean(LexBoolean {
2418 ..Default::default()
2419 }),
2420 );
2421 map.insert(
2422 SmolStr::new_static("lockReason"),
2423 LexObjectProperty::String(LexString {
2424 description: Some(
2425 CowStr::new_static(
2426 "Why the group was locked. Only present when updateType is 'locked'.",
2427 ),
2428 ),
2429 ..Default::default()
2430 }),
2431 );
2432 map.insert(
2433 SmolStr::new_static("newName"),
2434 LexObjectProperty::String(LexString {
2435 description: Some(
2436 CowStr::new_static(
2437 "The new group name. Only present when updateType is 'name_changed'.",
2438 ),
2439 ),
2440 ..Default::default()
2441 }),
2442 );
2443 map.insert(
2444 SmolStr::new_static("oldName"),
2445 LexObjectProperty::String(LexString {
2446 description: Some(
2447 CowStr::new_static(
2448 "The previous group name. Only present when updateType is 'name_changed'.",
2449 ),
2450 ),
2451 ..Default::default()
2452 }),
2453 );
2454 map.insert(
2455 SmolStr::new_static("ownerDid"),
2456 LexObjectProperty::String(LexString {
2457 description: Some(
2458 CowStr::new_static("The DID of the group chat owner."),
2459 ),
2460 format: Some(LexStringFormat::Did),
2461 ..Default::default()
2462 }),
2463 );
2464 map.insert(
2465 SmolStr::new_static("rev"),
2466 LexObjectProperty::String(LexString { ..Default::default() }),
2467 );
2468 map.insert(
2469 SmolStr::new_static("updateType"),
2470 LexObjectProperty::String(LexString {
2471 description: Some(CowStr::new_static("What changed.")),
2472 ..Default::default()
2473 }),
2474 );
2475 map
2476 },
2477 ..Default::default()
2478 }),
2479 );
2480 map.insert(
2481 SmolStr::new_static("eventRateLimitExceeded"),
2482 LexUserType::Object(LexObject {
2483 description: Some(CowStr::new_static(
2484 "Fired when a user exceeds a rate limit.",
2485 )),
2486 required: Some(vec![
2487 SmolStr::new_static("actorDid"),
2488 SmolStr::new_static("createdAt"),
2489 SmolStr::new_static("endpoint"),
2490 SmolStr::new_static("rev"),
2491 ]),
2492 properties: {
2493 #[allow(unused_mut)]
2494 let mut map = BTreeMap::new();
2495 map.insert(
2496 SmolStr::new_static("actorDid"),
2497 LexObjectProperty::String(LexString {
2498 description: Some(CowStr::new_static(
2499 "The DID of the user who hit the rate limit.",
2500 )),
2501 format: Some(LexStringFormat::Did),
2502 ..Default::default()
2503 }),
2504 );
2505 map.insert(
2506 SmolStr::new_static("createdAt"),
2507 LexObjectProperty::String(LexString {
2508 format: Some(LexStringFormat::Datetime),
2509 ..Default::default()
2510 }),
2511 );
2512 map.insert(
2513 SmolStr::new_static("endpoint"),
2514 LexObjectProperty::String(LexString {
2515 description: Some(CowStr::new_static(
2516 "The NSID of the endpoint that was rate limited.",
2517 )),
2518 ..Default::default()
2519 }),
2520 );
2521 map.insert(
2522 SmolStr::new_static("rev"),
2523 LexObjectProperty::String(LexString {
2524 ..Default::default()
2525 }),
2526 );
2527 map
2528 },
2529 ..Default::default()
2530 }),
2531 );
2532 map.insert(
2533 SmolStr::new_static("main"),
2534 LexUserType::XrpcSubscription(LexXrpcSubscription {
2535 parameters: Some(
2536 LexXrpcSubscriptionParameter::Params(LexXrpcParameters {
2537 properties: {
2538 #[allow(unused_mut)]
2539 let mut map = BTreeMap::new();
2540 map.insert(
2541 SmolStr::new_static("cursor"),
2542 LexXrpcParametersProperty::String(LexString {
2543 description: Some(
2544 CowStr::new_static(
2545 "The last known event seq number to backfill from. Use '2222222222222' to backfill from the beginning. Don't specify a cursor to listen only for new events.",
2546 ),
2547 ),
2548 ..Default::default()
2549 }),
2550 );
2551 map
2552 },
2553 ..Default::default()
2554 }),
2555 ),
2556 ..Default::default()
2557 }),
2558 );
2559 map
2560 },
2561 ..Default::default()
2562 }
2563}
2564
2565pub mod event_convo_first_message_state {
2566
2567 pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
2568 #[allow(unused)]
2569 use ::core::marker::PhantomData;
2570 mod sealed {
2571 pub trait Sealed {}
2572 }
2573 pub trait State: sealed::Sealed {
2575 type ConvoId;
2576 type CreatedAt;
2577 type Recipients;
2578 type Rev;
2579 type User;
2580 }
2581 pub struct Empty(());
2583 impl sealed::Sealed for Empty {}
2584 impl State for Empty {
2585 type ConvoId = Unset;
2586 type CreatedAt = Unset;
2587 type Recipients = Unset;
2588 type Rev = Unset;
2589 type User = Unset;
2590 }
2591 pub struct SetConvoId<St: State = Empty>(PhantomData<fn() -> St>);
2593 impl<St: State> sealed::Sealed for SetConvoId<St> {}
2594 impl<St: State> State for SetConvoId<St> {
2595 type ConvoId = Set<members::convo_id>;
2596 type CreatedAt = St::CreatedAt;
2597 type Recipients = St::Recipients;
2598 type Rev = St::Rev;
2599 type User = St::User;
2600 }
2601 pub struct SetCreatedAt<St: State = Empty>(PhantomData<fn() -> St>);
2603 impl<St: State> sealed::Sealed for SetCreatedAt<St> {}
2604 impl<St: State> State for SetCreatedAt<St> {
2605 type ConvoId = St::ConvoId;
2606 type CreatedAt = Set<members::created_at>;
2607 type Recipients = St::Recipients;
2608 type Rev = St::Rev;
2609 type User = St::User;
2610 }
2611 pub struct SetRecipients<St: State = Empty>(PhantomData<fn() -> St>);
2613 impl<St: State> sealed::Sealed for SetRecipients<St> {}
2614 impl<St: State> State for SetRecipients<St> {
2615 type ConvoId = St::ConvoId;
2616 type CreatedAt = St::CreatedAt;
2617 type Recipients = Set<members::recipients>;
2618 type Rev = St::Rev;
2619 type User = St::User;
2620 }
2621 pub struct SetRev<St: State = Empty>(PhantomData<fn() -> St>);
2623 impl<St: State> sealed::Sealed for SetRev<St> {}
2624 impl<St: State> State for SetRev<St> {
2625 type ConvoId = St::ConvoId;
2626 type CreatedAt = St::CreatedAt;
2627 type Recipients = St::Recipients;
2628 type Rev = Set<members::rev>;
2629 type User = St::User;
2630 }
2631 pub struct SetUser<St: State = Empty>(PhantomData<fn() -> St>);
2633 impl<St: State> sealed::Sealed for SetUser<St> {}
2634 impl<St: State> State for SetUser<St> {
2635 type ConvoId = St::ConvoId;
2636 type CreatedAt = St::CreatedAt;
2637 type Recipients = St::Recipients;
2638 type Rev = St::Rev;
2639 type User = Set<members::user>;
2640 }
2641 #[allow(non_camel_case_types)]
2643 pub mod members {
2644 pub struct convo_id(());
2646 pub struct created_at(());
2648 pub struct recipients(());
2650 pub struct rev(());
2652 pub struct user(());
2654 }
2655}
2656
2657pub struct EventConvoFirstMessageBuilder<
2659 St: event_convo_first_message_state::State,
2660 S: BosStr = DefaultStr,
2661> {
2662 _state: PhantomData<fn() -> St>,
2663 _fields: (
2664 Option<S>,
2665 Option<Datetime>,
2666 Option<S>,
2667 Option<Vec<Did<S>>>,
2668 Option<S>,
2669 Option<Did<S>>,
2670 ),
2671 _type: PhantomData<fn() -> S>,
2672}
2673
2674impl EventConvoFirstMessage<DefaultStr> {
2675 pub fn new() -> EventConvoFirstMessageBuilder<event_convo_first_message_state::Empty, DefaultStr>
2677 {
2678 EventConvoFirstMessageBuilder::new()
2679 }
2680}
2681
2682impl<S: BosStr> EventConvoFirstMessage<S> {
2683 pub fn builder() -> EventConvoFirstMessageBuilder<event_convo_first_message_state::Empty, S> {
2685 EventConvoFirstMessageBuilder::builder()
2686 }
2687}
2688
2689impl EventConvoFirstMessageBuilder<event_convo_first_message_state::Empty, DefaultStr> {
2690 pub fn new() -> Self {
2692 EventConvoFirstMessageBuilder {
2693 _state: PhantomData,
2694 _fields: (None, None, None, None, None, None),
2695 _type: PhantomData,
2696 }
2697 }
2698}
2699
2700impl<S: BosStr> EventConvoFirstMessageBuilder<event_convo_first_message_state::Empty, S> {
2701 pub fn builder() -> Self {
2703 EventConvoFirstMessageBuilder {
2704 _state: PhantomData,
2705 _fields: (None, None, None, None, None, None),
2706 _type: PhantomData,
2707 }
2708 }
2709}
2710
2711impl<St, S: BosStr> EventConvoFirstMessageBuilder<St, S>
2712where
2713 St: event_convo_first_message_state::State,
2714 St::ConvoId: event_convo_first_message_state::IsUnset,
2715{
2716 pub fn convo_id(
2718 mut self,
2719 value: impl Into<S>,
2720 ) -> EventConvoFirstMessageBuilder<event_convo_first_message_state::SetConvoId<St>, S> {
2721 self._fields.0 = Option::Some(value.into());
2722 EventConvoFirstMessageBuilder {
2723 _state: PhantomData,
2724 _fields: self._fields,
2725 _type: PhantomData,
2726 }
2727 }
2728}
2729
2730impl<St, S: BosStr> EventConvoFirstMessageBuilder<St, S>
2731where
2732 St: event_convo_first_message_state::State,
2733 St::CreatedAt: event_convo_first_message_state::IsUnset,
2734{
2735 pub fn created_at(
2737 mut self,
2738 value: impl Into<Datetime>,
2739 ) -> EventConvoFirstMessageBuilder<event_convo_first_message_state::SetCreatedAt<St>, S> {
2740 self._fields.1 = Option::Some(value.into());
2741 EventConvoFirstMessageBuilder {
2742 _state: PhantomData,
2743 _fields: self._fields,
2744 _type: PhantomData,
2745 }
2746 }
2747}
2748
2749impl<St: event_convo_first_message_state::State, S: BosStr> EventConvoFirstMessageBuilder<St, S> {
2750 pub fn message_id(mut self, value: impl Into<Option<S>>) -> Self {
2752 self._fields.2 = value.into();
2753 self
2754 }
2755 pub fn maybe_message_id(mut self, value: Option<S>) -> Self {
2757 self._fields.2 = value;
2758 self
2759 }
2760}
2761
2762impl<St, S: BosStr> EventConvoFirstMessageBuilder<St, S>
2763where
2764 St: event_convo_first_message_state::State,
2765 St::Recipients: event_convo_first_message_state::IsUnset,
2766{
2767 pub fn recipients(
2769 mut self,
2770 value: impl Into<Vec<Did<S>>>,
2771 ) -> EventConvoFirstMessageBuilder<event_convo_first_message_state::SetRecipients<St>, S> {
2772 self._fields.3 = Option::Some(value.into());
2773 EventConvoFirstMessageBuilder {
2774 _state: PhantomData,
2775 _fields: self._fields,
2776 _type: PhantomData,
2777 }
2778 }
2779}
2780
2781impl<St, S: BosStr> EventConvoFirstMessageBuilder<St, S>
2782where
2783 St: event_convo_first_message_state::State,
2784 St::Rev: event_convo_first_message_state::IsUnset,
2785{
2786 pub fn rev(
2788 mut self,
2789 value: impl Into<S>,
2790 ) -> EventConvoFirstMessageBuilder<event_convo_first_message_state::SetRev<St>, S> {
2791 self._fields.4 = Option::Some(value.into());
2792 EventConvoFirstMessageBuilder {
2793 _state: PhantomData,
2794 _fields: self._fields,
2795 _type: PhantomData,
2796 }
2797 }
2798}
2799
2800impl<St, S: BosStr> EventConvoFirstMessageBuilder<St, S>
2801where
2802 St: event_convo_first_message_state::State,
2803 St::User: event_convo_first_message_state::IsUnset,
2804{
2805 pub fn user(
2807 mut self,
2808 value: impl Into<Did<S>>,
2809 ) -> EventConvoFirstMessageBuilder<event_convo_first_message_state::SetUser<St>, S> {
2810 self._fields.5 = Option::Some(value.into());
2811 EventConvoFirstMessageBuilder {
2812 _state: PhantomData,
2813 _fields: self._fields,
2814 _type: PhantomData,
2815 }
2816 }
2817}
2818
2819impl<St, S: BosStr> EventConvoFirstMessageBuilder<St, S>
2820where
2821 St: event_convo_first_message_state::State,
2822 St::ConvoId: event_convo_first_message_state::IsSet,
2823 St::CreatedAt: event_convo_first_message_state::IsSet,
2824 St::Recipients: event_convo_first_message_state::IsSet,
2825 St::Rev: event_convo_first_message_state::IsSet,
2826 St::User: event_convo_first_message_state::IsSet,
2827{
2828 pub fn build(self) -> EventConvoFirstMessage<S> {
2830 EventConvoFirstMessage {
2831 convo_id: self._fields.0.unwrap(),
2832 created_at: self._fields.1.unwrap(),
2833 message_id: self._fields.2,
2834 recipients: self._fields.3.unwrap(),
2835 rev: self._fields.4.unwrap(),
2836 user: self._fields.5.unwrap(),
2837 extra_data: Default::default(),
2838 }
2839 }
2840 pub fn build_with_data(
2842 self,
2843 extra_data: BTreeMap<SmolStr, Data<S>>,
2844 ) -> EventConvoFirstMessage<S> {
2845 EventConvoFirstMessage {
2846 convo_id: self._fields.0.unwrap(),
2847 created_at: self._fields.1.unwrap(),
2848 message_id: self._fields.2,
2849 recipients: self._fields.3.unwrap(),
2850 rev: self._fields.4.unwrap(),
2851 user: self._fields.5.unwrap(),
2852 extra_data: Some(extra_data),
2853 }
2854 }
2855}
2856
2857pub mod event_group_chat_created_state {
2858
2859 pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
2860 #[allow(unused)]
2861 use ::core::marker::PhantomData;
2862 mod sealed {
2863 pub trait Sealed {}
2864 }
2865 pub trait State: sealed::Sealed {
2867 type ActorDid;
2868 type ConvoCreatedAt;
2869 type ConvoId;
2870 type CreatedAt;
2871 type GroupMemberCount;
2872 type GroupName;
2873 type InitialMemberDids;
2874 type OwnerDid;
2875 type Rev;
2876 }
2877 pub struct Empty(());
2879 impl sealed::Sealed for Empty {}
2880 impl State for Empty {
2881 type ActorDid = Unset;
2882 type ConvoCreatedAt = Unset;
2883 type ConvoId = Unset;
2884 type CreatedAt = Unset;
2885 type GroupMemberCount = Unset;
2886 type GroupName = Unset;
2887 type InitialMemberDids = Unset;
2888 type OwnerDid = Unset;
2889 type Rev = Unset;
2890 }
2891 pub struct SetActorDid<St: State = Empty>(PhantomData<fn() -> St>);
2893 impl<St: State> sealed::Sealed for SetActorDid<St> {}
2894 impl<St: State> State for SetActorDid<St> {
2895 type ActorDid = Set<members::actor_did>;
2896 type ConvoCreatedAt = St::ConvoCreatedAt;
2897 type ConvoId = St::ConvoId;
2898 type CreatedAt = St::CreatedAt;
2899 type GroupMemberCount = St::GroupMemberCount;
2900 type GroupName = St::GroupName;
2901 type InitialMemberDids = St::InitialMemberDids;
2902 type OwnerDid = St::OwnerDid;
2903 type Rev = St::Rev;
2904 }
2905 pub struct SetConvoCreatedAt<St: State = Empty>(PhantomData<fn() -> St>);
2907 impl<St: State> sealed::Sealed for SetConvoCreatedAt<St> {}
2908 impl<St: State> State for SetConvoCreatedAt<St> {
2909 type ActorDid = St::ActorDid;
2910 type ConvoCreatedAt = Set<members::convo_created_at>;
2911 type ConvoId = St::ConvoId;
2912 type CreatedAt = St::CreatedAt;
2913 type GroupMemberCount = St::GroupMemberCount;
2914 type GroupName = St::GroupName;
2915 type InitialMemberDids = St::InitialMemberDids;
2916 type OwnerDid = St::OwnerDid;
2917 type Rev = St::Rev;
2918 }
2919 pub struct SetConvoId<St: State = Empty>(PhantomData<fn() -> St>);
2921 impl<St: State> sealed::Sealed for SetConvoId<St> {}
2922 impl<St: State> State for SetConvoId<St> {
2923 type ActorDid = St::ActorDid;
2924 type ConvoCreatedAt = St::ConvoCreatedAt;
2925 type ConvoId = Set<members::convo_id>;
2926 type CreatedAt = St::CreatedAt;
2927 type GroupMemberCount = St::GroupMemberCount;
2928 type GroupName = St::GroupName;
2929 type InitialMemberDids = St::InitialMemberDids;
2930 type OwnerDid = St::OwnerDid;
2931 type Rev = St::Rev;
2932 }
2933 pub struct SetCreatedAt<St: State = Empty>(PhantomData<fn() -> St>);
2935 impl<St: State> sealed::Sealed for SetCreatedAt<St> {}
2936 impl<St: State> State for SetCreatedAt<St> {
2937 type ActorDid = St::ActorDid;
2938 type ConvoCreatedAt = St::ConvoCreatedAt;
2939 type ConvoId = St::ConvoId;
2940 type CreatedAt = Set<members::created_at>;
2941 type GroupMemberCount = St::GroupMemberCount;
2942 type GroupName = St::GroupName;
2943 type InitialMemberDids = St::InitialMemberDids;
2944 type OwnerDid = St::OwnerDid;
2945 type Rev = St::Rev;
2946 }
2947 pub struct SetGroupMemberCount<St: State = Empty>(PhantomData<fn() -> St>);
2949 impl<St: State> sealed::Sealed for SetGroupMemberCount<St> {}
2950 impl<St: State> State for SetGroupMemberCount<St> {
2951 type ActorDid = St::ActorDid;
2952 type ConvoCreatedAt = St::ConvoCreatedAt;
2953 type ConvoId = St::ConvoId;
2954 type CreatedAt = St::CreatedAt;
2955 type GroupMemberCount = Set<members::group_member_count>;
2956 type GroupName = St::GroupName;
2957 type InitialMemberDids = St::InitialMemberDids;
2958 type OwnerDid = St::OwnerDid;
2959 type Rev = St::Rev;
2960 }
2961 pub struct SetGroupName<St: State = Empty>(PhantomData<fn() -> St>);
2963 impl<St: State> sealed::Sealed for SetGroupName<St> {}
2964 impl<St: State> State for SetGroupName<St> {
2965 type ActorDid = St::ActorDid;
2966 type ConvoCreatedAt = St::ConvoCreatedAt;
2967 type ConvoId = St::ConvoId;
2968 type CreatedAt = St::CreatedAt;
2969 type GroupMemberCount = St::GroupMemberCount;
2970 type GroupName = Set<members::group_name>;
2971 type InitialMemberDids = St::InitialMemberDids;
2972 type OwnerDid = St::OwnerDid;
2973 type Rev = St::Rev;
2974 }
2975 pub struct SetInitialMemberDids<St: State = Empty>(PhantomData<fn() -> St>);
2977 impl<St: State> sealed::Sealed for SetInitialMemberDids<St> {}
2978 impl<St: State> State for SetInitialMemberDids<St> {
2979 type ActorDid = St::ActorDid;
2980 type ConvoCreatedAt = St::ConvoCreatedAt;
2981 type ConvoId = St::ConvoId;
2982 type CreatedAt = St::CreatedAt;
2983 type GroupMemberCount = St::GroupMemberCount;
2984 type GroupName = St::GroupName;
2985 type InitialMemberDids = Set<members::initial_member_dids>;
2986 type OwnerDid = St::OwnerDid;
2987 type Rev = St::Rev;
2988 }
2989 pub struct SetOwnerDid<St: State = Empty>(PhantomData<fn() -> St>);
2991 impl<St: State> sealed::Sealed for SetOwnerDid<St> {}
2992 impl<St: State> State for SetOwnerDid<St> {
2993 type ActorDid = St::ActorDid;
2994 type ConvoCreatedAt = St::ConvoCreatedAt;
2995 type ConvoId = St::ConvoId;
2996 type CreatedAt = St::CreatedAt;
2997 type GroupMemberCount = St::GroupMemberCount;
2998 type GroupName = St::GroupName;
2999 type InitialMemberDids = St::InitialMemberDids;
3000 type OwnerDid = Set<members::owner_did>;
3001 type Rev = St::Rev;
3002 }
3003 pub struct SetRev<St: State = Empty>(PhantomData<fn() -> St>);
3005 impl<St: State> sealed::Sealed for SetRev<St> {}
3006 impl<St: State> State for SetRev<St> {
3007 type ActorDid = St::ActorDid;
3008 type ConvoCreatedAt = St::ConvoCreatedAt;
3009 type ConvoId = St::ConvoId;
3010 type CreatedAt = St::CreatedAt;
3011 type GroupMemberCount = St::GroupMemberCount;
3012 type GroupName = St::GroupName;
3013 type InitialMemberDids = St::InitialMemberDids;
3014 type OwnerDid = St::OwnerDid;
3015 type Rev = Set<members::rev>;
3016 }
3017 #[allow(non_camel_case_types)]
3019 pub mod members {
3020 pub struct actor_did(());
3022 pub struct convo_created_at(());
3024 pub struct convo_id(());
3026 pub struct created_at(());
3028 pub struct group_member_count(());
3030 pub struct group_name(());
3032 pub struct initial_member_dids(());
3034 pub struct owner_did(());
3036 pub struct rev(());
3038 }
3039}
3040
3041pub struct EventGroupChatCreatedBuilder<
3043 St: event_group_chat_created_state::State,
3044 S: BosStr = DefaultStr,
3045> {
3046 _state: PhantomData<fn() -> St>,
3047 _fields: (
3048 Option<Did<S>>,
3049 Option<Datetime>,
3050 Option<S>,
3051 Option<Datetime>,
3052 Option<i64>,
3053 Option<S>,
3054 Option<Vec<Did<S>>>,
3055 Option<Did<S>>,
3056 Option<S>,
3057 ),
3058 _type: PhantomData<fn() -> S>,
3059}
3060
3061impl EventGroupChatCreated<DefaultStr> {
3062 pub fn new() -> EventGroupChatCreatedBuilder<event_group_chat_created_state::Empty, DefaultStr>
3064 {
3065 EventGroupChatCreatedBuilder::new()
3066 }
3067}
3068
3069impl<S: BosStr> EventGroupChatCreated<S> {
3070 pub fn builder() -> EventGroupChatCreatedBuilder<event_group_chat_created_state::Empty, S> {
3072 EventGroupChatCreatedBuilder::builder()
3073 }
3074}
3075
3076impl EventGroupChatCreatedBuilder<event_group_chat_created_state::Empty, DefaultStr> {
3077 pub fn new() -> Self {
3079 EventGroupChatCreatedBuilder {
3080 _state: PhantomData,
3081 _fields: (None, None, None, None, None, None, None, None, None),
3082 _type: PhantomData,
3083 }
3084 }
3085}
3086
3087impl<S: BosStr> EventGroupChatCreatedBuilder<event_group_chat_created_state::Empty, S> {
3088 pub fn builder() -> Self {
3090 EventGroupChatCreatedBuilder {
3091 _state: PhantomData,
3092 _fields: (None, None, None, None, None, None, None, None, None),
3093 _type: PhantomData,
3094 }
3095 }
3096}
3097
3098impl<St, S: BosStr> EventGroupChatCreatedBuilder<St, S>
3099where
3100 St: event_group_chat_created_state::State,
3101 St::ActorDid: event_group_chat_created_state::IsUnset,
3102{
3103 pub fn actor_did(
3105 mut self,
3106 value: impl Into<Did<S>>,
3107 ) -> EventGroupChatCreatedBuilder<event_group_chat_created_state::SetActorDid<St>, S> {
3108 self._fields.0 = Option::Some(value.into());
3109 EventGroupChatCreatedBuilder {
3110 _state: PhantomData,
3111 _fields: self._fields,
3112 _type: PhantomData,
3113 }
3114 }
3115}
3116
3117impl<St, S: BosStr> EventGroupChatCreatedBuilder<St, S>
3118where
3119 St: event_group_chat_created_state::State,
3120 St::ConvoCreatedAt: event_group_chat_created_state::IsUnset,
3121{
3122 pub fn convo_created_at(
3124 mut self,
3125 value: impl Into<Datetime>,
3126 ) -> EventGroupChatCreatedBuilder<event_group_chat_created_state::SetConvoCreatedAt<St>, S>
3127 {
3128 self._fields.1 = Option::Some(value.into());
3129 EventGroupChatCreatedBuilder {
3130 _state: PhantomData,
3131 _fields: self._fields,
3132 _type: PhantomData,
3133 }
3134 }
3135}
3136
3137impl<St, S: BosStr> EventGroupChatCreatedBuilder<St, S>
3138where
3139 St: event_group_chat_created_state::State,
3140 St::ConvoId: event_group_chat_created_state::IsUnset,
3141{
3142 pub fn convo_id(
3144 mut self,
3145 value: impl Into<S>,
3146 ) -> EventGroupChatCreatedBuilder<event_group_chat_created_state::SetConvoId<St>, S> {
3147 self._fields.2 = Option::Some(value.into());
3148 EventGroupChatCreatedBuilder {
3149 _state: PhantomData,
3150 _fields: self._fields,
3151 _type: PhantomData,
3152 }
3153 }
3154}
3155
3156impl<St, S: BosStr> EventGroupChatCreatedBuilder<St, S>
3157where
3158 St: event_group_chat_created_state::State,
3159 St::CreatedAt: event_group_chat_created_state::IsUnset,
3160{
3161 pub fn created_at(
3163 mut self,
3164 value: impl Into<Datetime>,
3165 ) -> EventGroupChatCreatedBuilder<event_group_chat_created_state::SetCreatedAt<St>, S> {
3166 self._fields.3 = Option::Some(value.into());
3167 EventGroupChatCreatedBuilder {
3168 _state: PhantomData,
3169 _fields: self._fields,
3170 _type: PhantomData,
3171 }
3172 }
3173}
3174
3175impl<St, S: BosStr> EventGroupChatCreatedBuilder<St, S>
3176where
3177 St: event_group_chat_created_state::State,
3178 St::GroupMemberCount: event_group_chat_created_state::IsUnset,
3179{
3180 pub fn group_member_count(
3182 mut self,
3183 value: impl Into<i64>,
3184 ) -> EventGroupChatCreatedBuilder<event_group_chat_created_state::SetGroupMemberCount<St>, S>
3185 {
3186 self._fields.4 = Option::Some(value.into());
3187 EventGroupChatCreatedBuilder {
3188 _state: PhantomData,
3189 _fields: self._fields,
3190 _type: PhantomData,
3191 }
3192 }
3193}
3194
3195impl<St, S: BosStr> EventGroupChatCreatedBuilder<St, S>
3196where
3197 St: event_group_chat_created_state::State,
3198 St::GroupName: event_group_chat_created_state::IsUnset,
3199{
3200 pub fn group_name(
3202 mut self,
3203 value: impl Into<S>,
3204 ) -> EventGroupChatCreatedBuilder<event_group_chat_created_state::SetGroupName<St>, S> {
3205 self._fields.5 = Option::Some(value.into());
3206 EventGroupChatCreatedBuilder {
3207 _state: PhantomData,
3208 _fields: self._fields,
3209 _type: PhantomData,
3210 }
3211 }
3212}
3213
3214impl<St, S: BosStr> EventGroupChatCreatedBuilder<St, S>
3215where
3216 St: event_group_chat_created_state::State,
3217 St::InitialMemberDids: event_group_chat_created_state::IsUnset,
3218{
3219 pub fn initial_member_dids(
3221 mut self,
3222 value: impl Into<Vec<Did<S>>>,
3223 ) -> EventGroupChatCreatedBuilder<event_group_chat_created_state::SetInitialMemberDids<St>, S>
3224 {
3225 self._fields.6 = Option::Some(value.into());
3226 EventGroupChatCreatedBuilder {
3227 _state: PhantomData,
3228 _fields: self._fields,
3229 _type: PhantomData,
3230 }
3231 }
3232}
3233
3234impl<St, S: BosStr> EventGroupChatCreatedBuilder<St, S>
3235where
3236 St: event_group_chat_created_state::State,
3237 St::OwnerDid: event_group_chat_created_state::IsUnset,
3238{
3239 pub fn owner_did(
3241 mut self,
3242 value: impl Into<Did<S>>,
3243 ) -> EventGroupChatCreatedBuilder<event_group_chat_created_state::SetOwnerDid<St>, S> {
3244 self._fields.7 = Option::Some(value.into());
3245 EventGroupChatCreatedBuilder {
3246 _state: PhantomData,
3247 _fields: self._fields,
3248 _type: PhantomData,
3249 }
3250 }
3251}
3252
3253impl<St, S: BosStr> EventGroupChatCreatedBuilder<St, S>
3254where
3255 St: event_group_chat_created_state::State,
3256 St::Rev: event_group_chat_created_state::IsUnset,
3257{
3258 pub fn rev(
3260 mut self,
3261 value: impl Into<S>,
3262 ) -> EventGroupChatCreatedBuilder<event_group_chat_created_state::SetRev<St>, S> {
3263 self._fields.8 = Option::Some(value.into());
3264 EventGroupChatCreatedBuilder {
3265 _state: PhantomData,
3266 _fields: self._fields,
3267 _type: PhantomData,
3268 }
3269 }
3270}
3271
3272impl<St, S: BosStr> EventGroupChatCreatedBuilder<St, S>
3273where
3274 St: event_group_chat_created_state::State,
3275 St::ActorDid: event_group_chat_created_state::IsSet,
3276 St::ConvoCreatedAt: event_group_chat_created_state::IsSet,
3277 St::ConvoId: event_group_chat_created_state::IsSet,
3278 St::CreatedAt: event_group_chat_created_state::IsSet,
3279 St::GroupMemberCount: event_group_chat_created_state::IsSet,
3280 St::GroupName: event_group_chat_created_state::IsSet,
3281 St::InitialMemberDids: event_group_chat_created_state::IsSet,
3282 St::OwnerDid: event_group_chat_created_state::IsSet,
3283 St::Rev: event_group_chat_created_state::IsSet,
3284{
3285 pub fn build(self) -> EventGroupChatCreated<S> {
3287 EventGroupChatCreated {
3288 actor_did: self._fields.0.unwrap(),
3289 convo_created_at: self._fields.1.unwrap(),
3290 convo_id: self._fields.2.unwrap(),
3291 created_at: self._fields.3.unwrap(),
3292 group_member_count: self._fields.4.unwrap(),
3293 group_name: self._fields.5.unwrap(),
3294 initial_member_dids: self._fields.6.unwrap(),
3295 owner_did: self._fields.7.unwrap(),
3296 rev: self._fields.8.unwrap(),
3297 extra_data: Default::default(),
3298 }
3299 }
3300 pub fn build_with_data(
3302 self,
3303 extra_data: BTreeMap<SmolStr, Data<S>>,
3304 ) -> EventGroupChatCreated<S> {
3305 EventGroupChatCreated {
3306 actor_did: self._fields.0.unwrap(),
3307 convo_created_at: self._fields.1.unwrap(),
3308 convo_id: self._fields.2.unwrap(),
3309 created_at: self._fields.3.unwrap(),
3310 group_member_count: self._fields.4.unwrap(),
3311 group_name: self._fields.5.unwrap(),
3312 initial_member_dids: self._fields.6.unwrap(),
3313 owner_did: self._fields.7.unwrap(),
3314 rev: self._fields.8.unwrap(),
3315 extra_data: Some(extra_data),
3316 }
3317 }
3318}
3319
3320pub mod event_group_chat_join_request_state {
3321
3322 pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
3323 #[allow(unused)]
3324 use ::core::marker::PhantomData;
3325 mod sealed {
3326 pub trait Sealed {}
3327 }
3328 pub trait State: sealed::Sealed {
3330 type ActorDid;
3331 type ConvoCreatedAt;
3332 type ConvoId;
3333 type CreatedAt;
3334 type GroupMemberCount;
3335 type GroupName;
3336 type JoinLinkCode;
3337 type OwnerDid;
3338 type Rev;
3339 type SubjectFollowsOwner;
3340 }
3341 pub struct Empty(());
3343 impl sealed::Sealed for Empty {}
3344 impl State for Empty {
3345 type ActorDid = Unset;
3346 type ConvoCreatedAt = Unset;
3347 type ConvoId = Unset;
3348 type CreatedAt = Unset;
3349 type GroupMemberCount = Unset;
3350 type GroupName = Unset;
3351 type JoinLinkCode = Unset;
3352 type OwnerDid = Unset;
3353 type Rev = Unset;
3354 type SubjectFollowsOwner = Unset;
3355 }
3356 pub struct SetActorDid<St: State = Empty>(PhantomData<fn() -> St>);
3358 impl<St: State> sealed::Sealed for SetActorDid<St> {}
3359 impl<St: State> State for SetActorDid<St> {
3360 type ActorDid = Set<members::actor_did>;
3361 type ConvoCreatedAt = St::ConvoCreatedAt;
3362 type ConvoId = St::ConvoId;
3363 type CreatedAt = St::CreatedAt;
3364 type GroupMemberCount = St::GroupMemberCount;
3365 type GroupName = St::GroupName;
3366 type JoinLinkCode = St::JoinLinkCode;
3367 type OwnerDid = St::OwnerDid;
3368 type Rev = St::Rev;
3369 type SubjectFollowsOwner = St::SubjectFollowsOwner;
3370 }
3371 pub struct SetConvoCreatedAt<St: State = Empty>(PhantomData<fn() -> St>);
3373 impl<St: State> sealed::Sealed for SetConvoCreatedAt<St> {}
3374 impl<St: State> State for SetConvoCreatedAt<St> {
3375 type ActorDid = St::ActorDid;
3376 type ConvoCreatedAt = Set<members::convo_created_at>;
3377 type ConvoId = St::ConvoId;
3378 type CreatedAt = St::CreatedAt;
3379 type GroupMemberCount = St::GroupMemberCount;
3380 type GroupName = St::GroupName;
3381 type JoinLinkCode = St::JoinLinkCode;
3382 type OwnerDid = St::OwnerDid;
3383 type Rev = St::Rev;
3384 type SubjectFollowsOwner = St::SubjectFollowsOwner;
3385 }
3386 pub struct SetConvoId<St: State = Empty>(PhantomData<fn() -> St>);
3388 impl<St: State> sealed::Sealed for SetConvoId<St> {}
3389 impl<St: State> State for SetConvoId<St> {
3390 type ActorDid = St::ActorDid;
3391 type ConvoCreatedAt = St::ConvoCreatedAt;
3392 type ConvoId = Set<members::convo_id>;
3393 type CreatedAt = St::CreatedAt;
3394 type GroupMemberCount = St::GroupMemberCount;
3395 type GroupName = St::GroupName;
3396 type JoinLinkCode = St::JoinLinkCode;
3397 type OwnerDid = St::OwnerDid;
3398 type Rev = St::Rev;
3399 type SubjectFollowsOwner = St::SubjectFollowsOwner;
3400 }
3401 pub struct SetCreatedAt<St: State = Empty>(PhantomData<fn() -> St>);
3403 impl<St: State> sealed::Sealed for SetCreatedAt<St> {}
3404 impl<St: State> State for SetCreatedAt<St> {
3405 type ActorDid = St::ActorDid;
3406 type ConvoCreatedAt = St::ConvoCreatedAt;
3407 type ConvoId = St::ConvoId;
3408 type CreatedAt = Set<members::created_at>;
3409 type GroupMemberCount = St::GroupMemberCount;
3410 type GroupName = St::GroupName;
3411 type JoinLinkCode = St::JoinLinkCode;
3412 type OwnerDid = St::OwnerDid;
3413 type Rev = St::Rev;
3414 type SubjectFollowsOwner = St::SubjectFollowsOwner;
3415 }
3416 pub struct SetGroupMemberCount<St: State = Empty>(PhantomData<fn() -> St>);
3418 impl<St: State> sealed::Sealed for SetGroupMemberCount<St> {}
3419 impl<St: State> State for SetGroupMemberCount<St> {
3420 type ActorDid = St::ActorDid;
3421 type ConvoCreatedAt = St::ConvoCreatedAt;
3422 type ConvoId = St::ConvoId;
3423 type CreatedAt = St::CreatedAt;
3424 type GroupMemberCount = Set<members::group_member_count>;
3425 type GroupName = St::GroupName;
3426 type JoinLinkCode = St::JoinLinkCode;
3427 type OwnerDid = St::OwnerDid;
3428 type Rev = St::Rev;
3429 type SubjectFollowsOwner = St::SubjectFollowsOwner;
3430 }
3431 pub struct SetGroupName<St: State = Empty>(PhantomData<fn() -> St>);
3433 impl<St: State> sealed::Sealed for SetGroupName<St> {}
3434 impl<St: State> State for SetGroupName<St> {
3435 type ActorDid = St::ActorDid;
3436 type ConvoCreatedAt = St::ConvoCreatedAt;
3437 type ConvoId = St::ConvoId;
3438 type CreatedAt = St::CreatedAt;
3439 type GroupMemberCount = St::GroupMemberCount;
3440 type GroupName = Set<members::group_name>;
3441 type JoinLinkCode = St::JoinLinkCode;
3442 type OwnerDid = St::OwnerDid;
3443 type Rev = St::Rev;
3444 type SubjectFollowsOwner = St::SubjectFollowsOwner;
3445 }
3446 pub struct SetJoinLinkCode<St: State = Empty>(PhantomData<fn() -> St>);
3448 impl<St: State> sealed::Sealed for SetJoinLinkCode<St> {}
3449 impl<St: State> State for SetJoinLinkCode<St> {
3450 type ActorDid = St::ActorDid;
3451 type ConvoCreatedAt = St::ConvoCreatedAt;
3452 type ConvoId = St::ConvoId;
3453 type CreatedAt = St::CreatedAt;
3454 type GroupMemberCount = St::GroupMemberCount;
3455 type GroupName = St::GroupName;
3456 type JoinLinkCode = Set<members::join_link_code>;
3457 type OwnerDid = St::OwnerDid;
3458 type Rev = St::Rev;
3459 type SubjectFollowsOwner = St::SubjectFollowsOwner;
3460 }
3461 pub struct SetOwnerDid<St: State = Empty>(PhantomData<fn() -> St>);
3463 impl<St: State> sealed::Sealed for SetOwnerDid<St> {}
3464 impl<St: State> State for SetOwnerDid<St> {
3465 type ActorDid = St::ActorDid;
3466 type ConvoCreatedAt = St::ConvoCreatedAt;
3467 type ConvoId = St::ConvoId;
3468 type CreatedAt = St::CreatedAt;
3469 type GroupMemberCount = St::GroupMemberCount;
3470 type GroupName = St::GroupName;
3471 type JoinLinkCode = St::JoinLinkCode;
3472 type OwnerDid = Set<members::owner_did>;
3473 type Rev = St::Rev;
3474 type SubjectFollowsOwner = St::SubjectFollowsOwner;
3475 }
3476 pub struct SetRev<St: State = Empty>(PhantomData<fn() -> St>);
3478 impl<St: State> sealed::Sealed for SetRev<St> {}
3479 impl<St: State> State for SetRev<St> {
3480 type ActorDid = St::ActorDid;
3481 type ConvoCreatedAt = St::ConvoCreatedAt;
3482 type ConvoId = St::ConvoId;
3483 type CreatedAt = St::CreatedAt;
3484 type GroupMemberCount = St::GroupMemberCount;
3485 type GroupName = St::GroupName;
3486 type JoinLinkCode = St::JoinLinkCode;
3487 type OwnerDid = St::OwnerDid;
3488 type Rev = Set<members::rev>;
3489 type SubjectFollowsOwner = St::SubjectFollowsOwner;
3490 }
3491 pub struct SetSubjectFollowsOwner<St: State = Empty>(PhantomData<fn() -> St>);
3493 impl<St: State> sealed::Sealed for SetSubjectFollowsOwner<St> {}
3494 impl<St: State> State for SetSubjectFollowsOwner<St> {
3495 type ActorDid = St::ActorDid;
3496 type ConvoCreatedAt = St::ConvoCreatedAt;
3497 type ConvoId = St::ConvoId;
3498 type CreatedAt = St::CreatedAt;
3499 type GroupMemberCount = St::GroupMemberCount;
3500 type GroupName = St::GroupName;
3501 type JoinLinkCode = St::JoinLinkCode;
3502 type OwnerDid = St::OwnerDid;
3503 type Rev = St::Rev;
3504 type SubjectFollowsOwner = Set<members::subject_follows_owner>;
3505 }
3506 #[allow(non_camel_case_types)]
3508 pub mod members {
3509 pub struct actor_did(());
3511 pub struct convo_created_at(());
3513 pub struct convo_id(());
3515 pub struct created_at(());
3517 pub struct group_member_count(());
3519 pub struct group_name(());
3521 pub struct join_link_code(());
3523 pub struct owner_did(());
3525 pub struct rev(());
3527 pub struct subject_follows_owner(());
3529 }
3530}
3531
3532pub struct EventGroupChatJoinRequestBuilder<
3534 St: event_group_chat_join_request_state::State,
3535 S: BosStr = DefaultStr,
3536> {
3537 _state: PhantomData<fn() -> St>,
3538 _fields: (
3539 Option<Did<S>>,
3540 Option<Datetime>,
3541 Option<S>,
3542 Option<Datetime>,
3543 Option<i64>,
3544 Option<S>,
3545 Option<S>,
3546 Option<Did<S>>,
3547 Option<S>,
3548 Option<bool>,
3549 ),
3550 _type: PhantomData<fn() -> S>,
3551}
3552
3553impl EventGroupChatJoinRequest<DefaultStr> {
3554 pub fn new()
3556 -> EventGroupChatJoinRequestBuilder<event_group_chat_join_request_state::Empty, DefaultStr>
3557 {
3558 EventGroupChatJoinRequestBuilder::new()
3559 }
3560}
3561
3562impl<S: BosStr> EventGroupChatJoinRequest<S> {
3563 pub fn builder()
3565 -> EventGroupChatJoinRequestBuilder<event_group_chat_join_request_state::Empty, S> {
3566 EventGroupChatJoinRequestBuilder::builder()
3567 }
3568}
3569
3570impl EventGroupChatJoinRequestBuilder<event_group_chat_join_request_state::Empty, DefaultStr> {
3571 pub fn new() -> Self {
3573 EventGroupChatJoinRequestBuilder {
3574 _state: PhantomData,
3575 _fields: (None, None, None, None, None, None, None, None, None, None),
3576 _type: PhantomData,
3577 }
3578 }
3579}
3580
3581impl<S: BosStr> EventGroupChatJoinRequestBuilder<event_group_chat_join_request_state::Empty, S> {
3582 pub fn builder() -> Self {
3584 EventGroupChatJoinRequestBuilder {
3585 _state: PhantomData,
3586 _fields: (None, None, None, None, None, None, None, None, None, None),
3587 _type: PhantomData,
3588 }
3589 }
3590}
3591
3592impl<St, S: BosStr> EventGroupChatJoinRequestBuilder<St, S>
3593where
3594 St: event_group_chat_join_request_state::State,
3595 St::ActorDid: event_group_chat_join_request_state::IsUnset,
3596{
3597 pub fn actor_did(
3599 mut self,
3600 value: impl Into<Did<S>>,
3601 ) -> EventGroupChatJoinRequestBuilder<event_group_chat_join_request_state::SetActorDid<St>, S>
3602 {
3603 self._fields.0 = Option::Some(value.into());
3604 EventGroupChatJoinRequestBuilder {
3605 _state: PhantomData,
3606 _fields: self._fields,
3607 _type: PhantomData,
3608 }
3609 }
3610}
3611
3612impl<St, S: BosStr> EventGroupChatJoinRequestBuilder<St, S>
3613where
3614 St: event_group_chat_join_request_state::State,
3615 St::ConvoCreatedAt: event_group_chat_join_request_state::IsUnset,
3616{
3617 pub fn convo_created_at(
3619 mut self,
3620 value: impl Into<Datetime>,
3621 ) -> EventGroupChatJoinRequestBuilder<
3622 event_group_chat_join_request_state::SetConvoCreatedAt<St>,
3623 S,
3624 > {
3625 self._fields.1 = Option::Some(value.into());
3626 EventGroupChatJoinRequestBuilder {
3627 _state: PhantomData,
3628 _fields: self._fields,
3629 _type: PhantomData,
3630 }
3631 }
3632}
3633
3634impl<St, S: BosStr> EventGroupChatJoinRequestBuilder<St, S>
3635where
3636 St: event_group_chat_join_request_state::State,
3637 St::ConvoId: event_group_chat_join_request_state::IsUnset,
3638{
3639 pub fn convo_id(
3641 mut self,
3642 value: impl Into<S>,
3643 ) -> EventGroupChatJoinRequestBuilder<event_group_chat_join_request_state::SetConvoId<St>, S>
3644 {
3645 self._fields.2 = Option::Some(value.into());
3646 EventGroupChatJoinRequestBuilder {
3647 _state: PhantomData,
3648 _fields: self._fields,
3649 _type: PhantomData,
3650 }
3651 }
3652}
3653
3654impl<St, S: BosStr> EventGroupChatJoinRequestBuilder<St, S>
3655where
3656 St: event_group_chat_join_request_state::State,
3657 St::CreatedAt: event_group_chat_join_request_state::IsUnset,
3658{
3659 pub fn created_at(
3661 mut self,
3662 value: impl Into<Datetime>,
3663 ) -> EventGroupChatJoinRequestBuilder<event_group_chat_join_request_state::SetCreatedAt<St>, S>
3664 {
3665 self._fields.3 = Option::Some(value.into());
3666 EventGroupChatJoinRequestBuilder {
3667 _state: PhantomData,
3668 _fields: self._fields,
3669 _type: PhantomData,
3670 }
3671 }
3672}
3673
3674impl<St, S: BosStr> EventGroupChatJoinRequestBuilder<St, S>
3675where
3676 St: event_group_chat_join_request_state::State,
3677 St::GroupMemberCount: event_group_chat_join_request_state::IsUnset,
3678{
3679 pub fn group_member_count(
3681 mut self,
3682 value: impl Into<i64>,
3683 ) -> EventGroupChatJoinRequestBuilder<
3684 event_group_chat_join_request_state::SetGroupMemberCount<St>,
3685 S,
3686 > {
3687 self._fields.4 = Option::Some(value.into());
3688 EventGroupChatJoinRequestBuilder {
3689 _state: PhantomData,
3690 _fields: self._fields,
3691 _type: PhantomData,
3692 }
3693 }
3694}
3695
3696impl<St, S: BosStr> EventGroupChatJoinRequestBuilder<St, S>
3697where
3698 St: event_group_chat_join_request_state::State,
3699 St::GroupName: event_group_chat_join_request_state::IsUnset,
3700{
3701 pub fn group_name(
3703 mut self,
3704 value: impl Into<S>,
3705 ) -> EventGroupChatJoinRequestBuilder<event_group_chat_join_request_state::SetGroupName<St>, S>
3706 {
3707 self._fields.5 = Option::Some(value.into());
3708 EventGroupChatJoinRequestBuilder {
3709 _state: PhantomData,
3710 _fields: self._fields,
3711 _type: PhantomData,
3712 }
3713 }
3714}
3715
3716impl<St, S: BosStr> EventGroupChatJoinRequestBuilder<St, S>
3717where
3718 St: event_group_chat_join_request_state::State,
3719 St::JoinLinkCode: event_group_chat_join_request_state::IsUnset,
3720{
3721 pub fn join_link_code(
3723 mut self,
3724 value: impl Into<S>,
3725 ) -> EventGroupChatJoinRequestBuilder<event_group_chat_join_request_state::SetJoinLinkCode<St>, S>
3726 {
3727 self._fields.6 = Option::Some(value.into());
3728 EventGroupChatJoinRequestBuilder {
3729 _state: PhantomData,
3730 _fields: self._fields,
3731 _type: PhantomData,
3732 }
3733 }
3734}
3735
3736impl<St, S: BosStr> EventGroupChatJoinRequestBuilder<St, S>
3737where
3738 St: event_group_chat_join_request_state::State,
3739 St::OwnerDid: event_group_chat_join_request_state::IsUnset,
3740{
3741 pub fn owner_did(
3743 mut self,
3744 value: impl Into<Did<S>>,
3745 ) -> EventGroupChatJoinRequestBuilder<event_group_chat_join_request_state::SetOwnerDid<St>, S>
3746 {
3747 self._fields.7 = Option::Some(value.into());
3748 EventGroupChatJoinRequestBuilder {
3749 _state: PhantomData,
3750 _fields: self._fields,
3751 _type: PhantomData,
3752 }
3753 }
3754}
3755
3756impl<St, S: BosStr> EventGroupChatJoinRequestBuilder<St, S>
3757where
3758 St: event_group_chat_join_request_state::State,
3759 St::Rev: event_group_chat_join_request_state::IsUnset,
3760{
3761 pub fn rev(
3763 mut self,
3764 value: impl Into<S>,
3765 ) -> EventGroupChatJoinRequestBuilder<event_group_chat_join_request_state::SetRev<St>, S> {
3766 self._fields.8 = Option::Some(value.into());
3767 EventGroupChatJoinRequestBuilder {
3768 _state: PhantomData,
3769 _fields: self._fields,
3770 _type: PhantomData,
3771 }
3772 }
3773}
3774
3775impl<St, S: BosStr> EventGroupChatJoinRequestBuilder<St, S>
3776where
3777 St: event_group_chat_join_request_state::State,
3778 St::SubjectFollowsOwner: event_group_chat_join_request_state::IsUnset,
3779{
3780 pub fn subject_follows_owner(
3782 mut self,
3783 value: impl Into<bool>,
3784 ) -> EventGroupChatJoinRequestBuilder<
3785 event_group_chat_join_request_state::SetSubjectFollowsOwner<St>,
3786 S,
3787 > {
3788 self._fields.9 = Option::Some(value.into());
3789 EventGroupChatJoinRequestBuilder {
3790 _state: PhantomData,
3791 _fields: self._fields,
3792 _type: PhantomData,
3793 }
3794 }
3795}
3796
3797impl<St, S: BosStr> EventGroupChatJoinRequestBuilder<St, S>
3798where
3799 St: event_group_chat_join_request_state::State,
3800 St::ActorDid: event_group_chat_join_request_state::IsSet,
3801 St::ConvoCreatedAt: event_group_chat_join_request_state::IsSet,
3802 St::ConvoId: event_group_chat_join_request_state::IsSet,
3803 St::CreatedAt: event_group_chat_join_request_state::IsSet,
3804 St::GroupMemberCount: event_group_chat_join_request_state::IsSet,
3805 St::GroupName: event_group_chat_join_request_state::IsSet,
3806 St::JoinLinkCode: event_group_chat_join_request_state::IsSet,
3807 St::OwnerDid: event_group_chat_join_request_state::IsSet,
3808 St::Rev: event_group_chat_join_request_state::IsSet,
3809 St::SubjectFollowsOwner: event_group_chat_join_request_state::IsSet,
3810{
3811 pub fn build(self) -> EventGroupChatJoinRequest<S> {
3813 EventGroupChatJoinRequest {
3814 actor_did: self._fields.0.unwrap(),
3815 convo_created_at: self._fields.1.unwrap(),
3816 convo_id: self._fields.2.unwrap(),
3817 created_at: self._fields.3.unwrap(),
3818 group_member_count: self._fields.4.unwrap(),
3819 group_name: self._fields.5.unwrap(),
3820 join_link_code: self._fields.6.unwrap(),
3821 owner_did: self._fields.7.unwrap(),
3822 rev: self._fields.8.unwrap(),
3823 subject_follows_owner: self._fields.9.unwrap(),
3824 extra_data: Default::default(),
3825 }
3826 }
3827 pub fn build_with_data(
3829 self,
3830 extra_data: BTreeMap<SmolStr, Data<S>>,
3831 ) -> EventGroupChatJoinRequest<S> {
3832 EventGroupChatJoinRequest {
3833 actor_did: self._fields.0.unwrap(),
3834 convo_created_at: self._fields.1.unwrap(),
3835 convo_id: self._fields.2.unwrap(),
3836 created_at: self._fields.3.unwrap(),
3837 group_member_count: self._fields.4.unwrap(),
3838 group_name: self._fields.5.unwrap(),
3839 join_link_code: self._fields.6.unwrap(),
3840 owner_did: self._fields.7.unwrap(),
3841 rev: self._fields.8.unwrap(),
3842 subject_follows_owner: self._fields.9.unwrap(),
3843 extra_data: Some(extra_data),
3844 }
3845 }
3846}
3847
3848pub mod event_group_chat_join_request_approved_state {
3849
3850 pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
3851 #[allow(unused)]
3852 use ::core::marker::PhantomData;
3853 mod sealed {
3854 pub trait Sealed {}
3855 }
3856 pub trait State: sealed::Sealed {
3858 type ActorDid;
3859 type ConvoCreatedAt;
3860 type ConvoId;
3861 type CreatedAt;
3862 type GroupMemberCount;
3863 type GroupName;
3864 type OwnerDid;
3865 type Rev;
3866 type SubjectDid;
3867 }
3868 pub struct Empty(());
3870 impl sealed::Sealed for Empty {}
3871 impl State for Empty {
3872 type ActorDid = Unset;
3873 type ConvoCreatedAt = Unset;
3874 type ConvoId = Unset;
3875 type CreatedAt = Unset;
3876 type GroupMemberCount = Unset;
3877 type GroupName = Unset;
3878 type OwnerDid = Unset;
3879 type Rev = Unset;
3880 type SubjectDid = Unset;
3881 }
3882 pub struct SetActorDid<St: State = Empty>(PhantomData<fn() -> St>);
3884 impl<St: State> sealed::Sealed for SetActorDid<St> {}
3885 impl<St: State> State for SetActorDid<St> {
3886 type ActorDid = Set<members::actor_did>;
3887 type ConvoCreatedAt = St::ConvoCreatedAt;
3888 type ConvoId = St::ConvoId;
3889 type CreatedAt = St::CreatedAt;
3890 type GroupMemberCount = St::GroupMemberCount;
3891 type GroupName = St::GroupName;
3892 type OwnerDid = St::OwnerDid;
3893 type Rev = St::Rev;
3894 type SubjectDid = St::SubjectDid;
3895 }
3896 pub struct SetConvoCreatedAt<St: State = Empty>(PhantomData<fn() -> St>);
3898 impl<St: State> sealed::Sealed for SetConvoCreatedAt<St> {}
3899 impl<St: State> State for SetConvoCreatedAt<St> {
3900 type ActorDid = St::ActorDid;
3901 type ConvoCreatedAt = Set<members::convo_created_at>;
3902 type ConvoId = St::ConvoId;
3903 type CreatedAt = St::CreatedAt;
3904 type GroupMemberCount = St::GroupMemberCount;
3905 type GroupName = St::GroupName;
3906 type OwnerDid = St::OwnerDid;
3907 type Rev = St::Rev;
3908 type SubjectDid = St::SubjectDid;
3909 }
3910 pub struct SetConvoId<St: State = Empty>(PhantomData<fn() -> St>);
3912 impl<St: State> sealed::Sealed for SetConvoId<St> {}
3913 impl<St: State> State for SetConvoId<St> {
3914 type ActorDid = St::ActorDid;
3915 type ConvoCreatedAt = St::ConvoCreatedAt;
3916 type ConvoId = Set<members::convo_id>;
3917 type CreatedAt = St::CreatedAt;
3918 type GroupMemberCount = St::GroupMemberCount;
3919 type GroupName = St::GroupName;
3920 type OwnerDid = St::OwnerDid;
3921 type Rev = St::Rev;
3922 type SubjectDid = St::SubjectDid;
3923 }
3924 pub struct SetCreatedAt<St: State = Empty>(PhantomData<fn() -> St>);
3926 impl<St: State> sealed::Sealed for SetCreatedAt<St> {}
3927 impl<St: State> State for SetCreatedAt<St> {
3928 type ActorDid = St::ActorDid;
3929 type ConvoCreatedAt = St::ConvoCreatedAt;
3930 type ConvoId = St::ConvoId;
3931 type CreatedAt = Set<members::created_at>;
3932 type GroupMemberCount = St::GroupMemberCount;
3933 type GroupName = St::GroupName;
3934 type OwnerDid = St::OwnerDid;
3935 type Rev = St::Rev;
3936 type SubjectDid = St::SubjectDid;
3937 }
3938 pub struct SetGroupMemberCount<St: State = Empty>(PhantomData<fn() -> St>);
3940 impl<St: State> sealed::Sealed for SetGroupMemberCount<St> {}
3941 impl<St: State> State for SetGroupMemberCount<St> {
3942 type ActorDid = St::ActorDid;
3943 type ConvoCreatedAt = St::ConvoCreatedAt;
3944 type ConvoId = St::ConvoId;
3945 type CreatedAt = St::CreatedAt;
3946 type GroupMemberCount = Set<members::group_member_count>;
3947 type GroupName = St::GroupName;
3948 type OwnerDid = St::OwnerDid;
3949 type Rev = St::Rev;
3950 type SubjectDid = St::SubjectDid;
3951 }
3952 pub struct SetGroupName<St: State = Empty>(PhantomData<fn() -> St>);
3954 impl<St: State> sealed::Sealed for SetGroupName<St> {}
3955 impl<St: State> State for SetGroupName<St> {
3956 type ActorDid = St::ActorDid;
3957 type ConvoCreatedAt = St::ConvoCreatedAt;
3958 type ConvoId = St::ConvoId;
3959 type CreatedAt = St::CreatedAt;
3960 type GroupMemberCount = St::GroupMemberCount;
3961 type GroupName = Set<members::group_name>;
3962 type OwnerDid = St::OwnerDid;
3963 type Rev = St::Rev;
3964 type SubjectDid = St::SubjectDid;
3965 }
3966 pub struct SetOwnerDid<St: State = Empty>(PhantomData<fn() -> St>);
3968 impl<St: State> sealed::Sealed for SetOwnerDid<St> {}
3969 impl<St: State> State for SetOwnerDid<St> {
3970 type ActorDid = St::ActorDid;
3971 type ConvoCreatedAt = St::ConvoCreatedAt;
3972 type ConvoId = St::ConvoId;
3973 type CreatedAt = St::CreatedAt;
3974 type GroupMemberCount = St::GroupMemberCount;
3975 type GroupName = St::GroupName;
3976 type OwnerDid = Set<members::owner_did>;
3977 type Rev = St::Rev;
3978 type SubjectDid = St::SubjectDid;
3979 }
3980 pub struct SetRev<St: State = Empty>(PhantomData<fn() -> St>);
3982 impl<St: State> sealed::Sealed for SetRev<St> {}
3983 impl<St: State> State for SetRev<St> {
3984 type ActorDid = St::ActorDid;
3985 type ConvoCreatedAt = St::ConvoCreatedAt;
3986 type ConvoId = St::ConvoId;
3987 type CreatedAt = St::CreatedAt;
3988 type GroupMemberCount = St::GroupMemberCount;
3989 type GroupName = St::GroupName;
3990 type OwnerDid = St::OwnerDid;
3991 type Rev = Set<members::rev>;
3992 type SubjectDid = St::SubjectDid;
3993 }
3994 pub struct SetSubjectDid<St: State = Empty>(PhantomData<fn() -> St>);
3996 impl<St: State> sealed::Sealed for SetSubjectDid<St> {}
3997 impl<St: State> State for SetSubjectDid<St> {
3998 type ActorDid = St::ActorDid;
3999 type ConvoCreatedAt = St::ConvoCreatedAt;
4000 type ConvoId = St::ConvoId;
4001 type CreatedAt = St::CreatedAt;
4002 type GroupMemberCount = St::GroupMemberCount;
4003 type GroupName = St::GroupName;
4004 type OwnerDid = St::OwnerDid;
4005 type Rev = St::Rev;
4006 type SubjectDid = Set<members::subject_did>;
4007 }
4008 #[allow(non_camel_case_types)]
4010 pub mod members {
4011 pub struct actor_did(());
4013 pub struct convo_created_at(());
4015 pub struct convo_id(());
4017 pub struct created_at(());
4019 pub struct group_member_count(());
4021 pub struct group_name(());
4023 pub struct owner_did(());
4025 pub struct rev(());
4027 pub struct subject_did(());
4029 }
4030}
4031
4032pub struct EventGroupChatJoinRequestApprovedBuilder<
4034 St: event_group_chat_join_request_approved_state::State,
4035 S: BosStr = DefaultStr,
4036> {
4037 _state: PhantomData<fn() -> St>,
4038 _fields: (
4039 Option<Did<S>>,
4040 Option<Datetime>,
4041 Option<S>,
4042 Option<Datetime>,
4043 Option<i64>,
4044 Option<S>,
4045 Option<Did<S>>,
4046 Option<S>,
4047 Option<Did<S>>,
4048 ),
4049 _type: PhantomData<fn() -> S>,
4050}
4051
4052impl EventGroupChatJoinRequestApproved<DefaultStr> {
4053 pub fn new() -> EventGroupChatJoinRequestApprovedBuilder<
4055 event_group_chat_join_request_approved_state::Empty,
4056 DefaultStr,
4057 > {
4058 EventGroupChatJoinRequestApprovedBuilder::new()
4059 }
4060}
4061
4062impl<S: BosStr> EventGroupChatJoinRequestApproved<S> {
4063 pub fn builder() -> EventGroupChatJoinRequestApprovedBuilder<
4065 event_group_chat_join_request_approved_state::Empty,
4066 S,
4067 > {
4068 EventGroupChatJoinRequestApprovedBuilder::builder()
4069 }
4070}
4071
4072impl
4073 EventGroupChatJoinRequestApprovedBuilder<
4074 event_group_chat_join_request_approved_state::Empty,
4075 DefaultStr,
4076 >
4077{
4078 pub fn new() -> Self {
4080 EventGroupChatJoinRequestApprovedBuilder {
4081 _state: PhantomData,
4082 _fields: (None, None, None, None, None, None, None, None, None),
4083 _type: PhantomData,
4084 }
4085 }
4086}
4087
4088impl<S: BosStr>
4089 EventGroupChatJoinRequestApprovedBuilder<event_group_chat_join_request_approved_state::Empty, S>
4090{
4091 pub fn builder() -> Self {
4093 EventGroupChatJoinRequestApprovedBuilder {
4094 _state: PhantomData,
4095 _fields: (None, None, None, None, None, None, None, None, None),
4096 _type: PhantomData,
4097 }
4098 }
4099}
4100
4101impl<St, S: BosStr> EventGroupChatJoinRequestApprovedBuilder<St, S>
4102where
4103 St: event_group_chat_join_request_approved_state::State,
4104 St::ActorDid: event_group_chat_join_request_approved_state::IsUnset,
4105{
4106 pub fn actor_did(
4108 mut self,
4109 value: impl Into<Did<S>>,
4110 ) -> EventGroupChatJoinRequestApprovedBuilder<
4111 event_group_chat_join_request_approved_state::SetActorDid<St>,
4112 S,
4113 > {
4114 self._fields.0 = Option::Some(value.into());
4115 EventGroupChatJoinRequestApprovedBuilder {
4116 _state: PhantomData,
4117 _fields: self._fields,
4118 _type: PhantomData,
4119 }
4120 }
4121}
4122
4123impl<St, S: BosStr> EventGroupChatJoinRequestApprovedBuilder<St, S>
4124where
4125 St: event_group_chat_join_request_approved_state::State,
4126 St::ConvoCreatedAt: event_group_chat_join_request_approved_state::IsUnset,
4127{
4128 pub fn convo_created_at(
4130 mut self,
4131 value: impl Into<Datetime>,
4132 ) -> EventGroupChatJoinRequestApprovedBuilder<
4133 event_group_chat_join_request_approved_state::SetConvoCreatedAt<St>,
4134 S,
4135 > {
4136 self._fields.1 = Option::Some(value.into());
4137 EventGroupChatJoinRequestApprovedBuilder {
4138 _state: PhantomData,
4139 _fields: self._fields,
4140 _type: PhantomData,
4141 }
4142 }
4143}
4144
4145impl<St, S: BosStr> EventGroupChatJoinRequestApprovedBuilder<St, S>
4146where
4147 St: event_group_chat_join_request_approved_state::State,
4148 St::ConvoId: event_group_chat_join_request_approved_state::IsUnset,
4149{
4150 pub fn convo_id(
4152 mut self,
4153 value: impl Into<S>,
4154 ) -> EventGroupChatJoinRequestApprovedBuilder<
4155 event_group_chat_join_request_approved_state::SetConvoId<St>,
4156 S,
4157 > {
4158 self._fields.2 = Option::Some(value.into());
4159 EventGroupChatJoinRequestApprovedBuilder {
4160 _state: PhantomData,
4161 _fields: self._fields,
4162 _type: PhantomData,
4163 }
4164 }
4165}
4166
4167impl<St, S: BosStr> EventGroupChatJoinRequestApprovedBuilder<St, S>
4168where
4169 St: event_group_chat_join_request_approved_state::State,
4170 St::CreatedAt: event_group_chat_join_request_approved_state::IsUnset,
4171{
4172 pub fn created_at(
4174 mut self,
4175 value: impl Into<Datetime>,
4176 ) -> EventGroupChatJoinRequestApprovedBuilder<
4177 event_group_chat_join_request_approved_state::SetCreatedAt<St>,
4178 S,
4179 > {
4180 self._fields.3 = Option::Some(value.into());
4181 EventGroupChatJoinRequestApprovedBuilder {
4182 _state: PhantomData,
4183 _fields: self._fields,
4184 _type: PhantomData,
4185 }
4186 }
4187}
4188
4189impl<St, S: BosStr> EventGroupChatJoinRequestApprovedBuilder<St, S>
4190where
4191 St: event_group_chat_join_request_approved_state::State,
4192 St::GroupMemberCount: event_group_chat_join_request_approved_state::IsUnset,
4193{
4194 pub fn group_member_count(
4196 mut self,
4197 value: impl Into<i64>,
4198 ) -> EventGroupChatJoinRequestApprovedBuilder<
4199 event_group_chat_join_request_approved_state::SetGroupMemberCount<St>,
4200 S,
4201 > {
4202 self._fields.4 = Option::Some(value.into());
4203 EventGroupChatJoinRequestApprovedBuilder {
4204 _state: PhantomData,
4205 _fields: self._fields,
4206 _type: PhantomData,
4207 }
4208 }
4209}
4210
4211impl<St, S: BosStr> EventGroupChatJoinRequestApprovedBuilder<St, S>
4212where
4213 St: event_group_chat_join_request_approved_state::State,
4214 St::GroupName: event_group_chat_join_request_approved_state::IsUnset,
4215{
4216 pub fn group_name(
4218 mut self,
4219 value: impl Into<S>,
4220 ) -> EventGroupChatJoinRequestApprovedBuilder<
4221 event_group_chat_join_request_approved_state::SetGroupName<St>,
4222 S,
4223 > {
4224 self._fields.5 = Option::Some(value.into());
4225 EventGroupChatJoinRequestApprovedBuilder {
4226 _state: PhantomData,
4227 _fields: self._fields,
4228 _type: PhantomData,
4229 }
4230 }
4231}
4232
4233impl<St, S: BosStr> EventGroupChatJoinRequestApprovedBuilder<St, S>
4234where
4235 St: event_group_chat_join_request_approved_state::State,
4236 St::OwnerDid: event_group_chat_join_request_approved_state::IsUnset,
4237{
4238 pub fn owner_did(
4240 mut self,
4241 value: impl Into<Did<S>>,
4242 ) -> EventGroupChatJoinRequestApprovedBuilder<
4243 event_group_chat_join_request_approved_state::SetOwnerDid<St>,
4244 S,
4245 > {
4246 self._fields.6 = Option::Some(value.into());
4247 EventGroupChatJoinRequestApprovedBuilder {
4248 _state: PhantomData,
4249 _fields: self._fields,
4250 _type: PhantomData,
4251 }
4252 }
4253}
4254
4255impl<St, S: BosStr> EventGroupChatJoinRequestApprovedBuilder<St, S>
4256where
4257 St: event_group_chat_join_request_approved_state::State,
4258 St::Rev: event_group_chat_join_request_approved_state::IsUnset,
4259{
4260 pub fn rev(
4262 mut self,
4263 value: impl Into<S>,
4264 ) -> EventGroupChatJoinRequestApprovedBuilder<
4265 event_group_chat_join_request_approved_state::SetRev<St>,
4266 S,
4267 > {
4268 self._fields.7 = Option::Some(value.into());
4269 EventGroupChatJoinRequestApprovedBuilder {
4270 _state: PhantomData,
4271 _fields: self._fields,
4272 _type: PhantomData,
4273 }
4274 }
4275}
4276
4277impl<St, S: BosStr> EventGroupChatJoinRequestApprovedBuilder<St, S>
4278where
4279 St: event_group_chat_join_request_approved_state::State,
4280 St::SubjectDid: event_group_chat_join_request_approved_state::IsUnset,
4281{
4282 pub fn subject_did(
4284 mut self,
4285 value: impl Into<Did<S>>,
4286 ) -> EventGroupChatJoinRequestApprovedBuilder<
4287 event_group_chat_join_request_approved_state::SetSubjectDid<St>,
4288 S,
4289 > {
4290 self._fields.8 = Option::Some(value.into());
4291 EventGroupChatJoinRequestApprovedBuilder {
4292 _state: PhantomData,
4293 _fields: self._fields,
4294 _type: PhantomData,
4295 }
4296 }
4297}
4298
4299impl<St, S: BosStr> EventGroupChatJoinRequestApprovedBuilder<St, S>
4300where
4301 St: event_group_chat_join_request_approved_state::State,
4302 St::ActorDid: event_group_chat_join_request_approved_state::IsSet,
4303 St::ConvoCreatedAt: event_group_chat_join_request_approved_state::IsSet,
4304 St::ConvoId: event_group_chat_join_request_approved_state::IsSet,
4305 St::CreatedAt: event_group_chat_join_request_approved_state::IsSet,
4306 St::GroupMemberCount: event_group_chat_join_request_approved_state::IsSet,
4307 St::GroupName: event_group_chat_join_request_approved_state::IsSet,
4308 St::OwnerDid: event_group_chat_join_request_approved_state::IsSet,
4309 St::Rev: event_group_chat_join_request_approved_state::IsSet,
4310 St::SubjectDid: event_group_chat_join_request_approved_state::IsSet,
4311{
4312 pub fn build(self) -> EventGroupChatJoinRequestApproved<S> {
4314 EventGroupChatJoinRequestApproved {
4315 actor_did: self._fields.0.unwrap(),
4316 convo_created_at: self._fields.1.unwrap(),
4317 convo_id: self._fields.2.unwrap(),
4318 created_at: self._fields.3.unwrap(),
4319 group_member_count: self._fields.4.unwrap(),
4320 group_name: self._fields.5.unwrap(),
4321 owner_did: self._fields.6.unwrap(),
4322 rev: self._fields.7.unwrap(),
4323 subject_did: self._fields.8.unwrap(),
4324 extra_data: Default::default(),
4325 }
4326 }
4327 pub fn build_with_data(
4329 self,
4330 extra_data: BTreeMap<SmolStr, Data<S>>,
4331 ) -> EventGroupChatJoinRequestApproved<S> {
4332 EventGroupChatJoinRequestApproved {
4333 actor_did: self._fields.0.unwrap(),
4334 convo_created_at: self._fields.1.unwrap(),
4335 convo_id: self._fields.2.unwrap(),
4336 created_at: self._fields.3.unwrap(),
4337 group_member_count: self._fields.4.unwrap(),
4338 group_name: self._fields.5.unwrap(),
4339 owner_did: self._fields.6.unwrap(),
4340 rev: self._fields.7.unwrap(),
4341 subject_did: self._fields.8.unwrap(),
4342 extra_data: Some(extra_data),
4343 }
4344 }
4345}
4346
4347pub mod event_group_chat_join_request_rejected_state {
4348
4349 pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
4350 #[allow(unused)]
4351 use ::core::marker::PhantomData;
4352 mod sealed {
4353 pub trait Sealed {}
4354 }
4355 pub trait State: sealed::Sealed {
4357 type ActorDid;
4358 type ConvoCreatedAt;
4359 type ConvoId;
4360 type CreatedAt;
4361 type GroupMemberCount;
4362 type GroupName;
4363 type OwnerDid;
4364 type Rev;
4365 type SubjectDid;
4366 }
4367 pub struct Empty(());
4369 impl sealed::Sealed for Empty {}
4370 impl State for Empty {
4371 type ActorDid = Unset;
4372 type ConvoCreatedAt = Unset;
4373 type ConvoId = Unset;
4374 type CreatedAt = Unset;
4375 type GroupMemberCount = Unset;
4376 type GroupName = Unset;
4377 type OwnerDid = Unset;
4378 type Rev = Unset;
4379 type SubjectDid = Unset;
4380 }
4381 pub struct SetActorDid<St: State = Empty>(PhantomData<fn() -> St>);
4383 impl<St: State> sealed::Sealed for SetActorDid<St> {}
4384 impl<St: State> State for SetActorDid<St> {
4385 type ActorDid = Set<members::actor_did>;
4386 type ConvoCreatedAt = St::ConvoCreatedAt;
4387 type ConvoId = St::ConvoId;
4388 type CreatedAt = St::CreatedAt;
4389 type GroupMemberCount = St::GroupMemberCount;
4390 type GroupName = St::GroupName;
4391 type OwnerDid = St::OwnerDid;
4392 type Rev = St::Rev;
4393 type SubjectDid = St::SubjectDid;
4394 }
4395 pub struct SetConvoCreatedAt<St: State = Empty>(PhantomData<fn() -> St>);
4397 impl<St: State> sealed::Sealed for SetConvoCreatedAt<St> {}
4398 impl<St: State> State for SetConvoCreatedAt<St> {
4399 type ActorDid = St::ActorDid;
4400 type ConvoCreatedAt = Set<members::convo_created_at>;
4401 type ConvoId = St::ConvoId;
4402 type CreatedAt = St::CreatedAt;
4403 type GroupMemberCount = St::GroupMemberCount;
4404 type GroupName = St::GroupName;
4405 type OwnerDid = St::OwnerDid;
4406 type Rev = St::Rev;
4407 type SubjectDid = St::SubjectDid;
4408 }
4409 pub struct SetConvoId<St: State = Empty>(PhantomData<fn() -> St>);
4411 impl<St: State> sealed::Sealed for SetConvoId<St> {}
4412 impl<St: State> State for SetConvoId<St> {
4413 type ActorDid = St::ActorDid;
4414 type ConvoCreatedAt = St::ConvoCreatedAt;
4415 type ConvoId = Set<members::convo_id>;
4416 type CreatedAt = St::CreatedAt;
4417 type GroupMemberCount = St::GroupMemberCount;
4418 type GroupName = St::GroupName;
4419 type OwnerDid = St::OwnerDid;
4420 type Rev = St::Rev;
4421 type SubjectDid = St::SubjectDid;
4422 }
4423 pub struct SetCreatedAt<St: State = Empty>(PhantomData<fn() -> St>);
4425 impl<St: State> sealed::Sealed for SetCreatedAt<St> {}
4426 impl<St: State> State for SetCreatedAt<St> {
4427 type ActorDid = St::ActorDid;
4428 type ConvoCreatedAt = St::ConvoCreatedAt;
4429 type ConvoId = St::ConvoId;
4430 type CreatedAt = Set<members::created_at>;
4431 type GroupMemberCount = St::GroupMemberCount;
4432 type GroupName = St::GroupName;
4433 type OwnerDid = St::OwnerDid;
4434 type Rev = St::Rev;
4435 type SubjectDid = St::SubjectDid;
4436 }
4437 pub struct SetGroupMemberCount<St: State = Empty>(PhantomData<fn() -> St>);
4439 impl<St: State> sealed::Sealed for SetGroupMemberCount<St> {}
4440 impl<St: State> State for SetGroupMemberCount<St> {
4441 type ActorDid = St::ActorDid;
4442 type ConvoCreatedAt = St::ConvoCreatedAt;
4443 type ConvoId = St::ConvoId;
4444 type CreatedAt = St::CreatedAt;
4445 type GroupMemberCount = Set<members::group_member_count>;
4446 type GroupName = St::GroupName;
4447 type OwnerDid = St::OwnerDid;
4448 type Rev = St::Rev;
4449 type SubjectDid = St::SubjectDid;
4450 }
4451 pub struct SetGroupName<St: State = Empty>(PhantomData<fn() -> St>);
4453 impl<St: State> sealed::Sealed for SetGroupName<St> {}
4454 impl<St: State> State for SetGroupName<St> {
4455 type ActorDid = St::ActorDid;
4456 type ConvoCreatedAt = St::ConvoCreatedAt;
4457 type ConvoId = St::ConvoId;
4458 type CreatedAt = St::CreatedAt;
4459 type GroupMemberCount = St::GroupMemberCount;
4460 type GroupName = Set<members::group_name>;
4461 type OwnerDid = St::OwnerDid;
4462 type Rev = St::Rev;
4463 type SubjectDid = St::SubjectDid;
4464 }
4465 pub struct SetOwnerDid<St: State = Empty>(PhantomData<fn() -> St>);
4467 impl<St: State> sealed::Sealed for SetOwnerDid<St> {}
4468 impl<St: State> State for SetOwnerDid<St> {
4469 type ActorDid = St::ActorDid;
4470 type ConvoCreatedAt = St::ConvoCreatedAt;
4471 type ConvoId = St::ConvoId;
4472 type CreatedAt = St::CreatedAt;
4473 type GroupMemberCount = St::GroupMemberCount;
4474 type GroupName = St::GroupName;
4475 type OwnerDid = Set<members::owner_did>;
4476 type Rev = St::Rev;
4477 type SubjectDid = St::SubjectDid;
4478 }
4479 pub struct SetRev<St: State = Empty>(PhantomData<fn() -> St>);
4481 impl<St: State> sealed::Sealed for SetRev<St> {}
4482 impl<St: State> State for SetRev<St> {
4483 type ActorDid = St::ActorDid;
4484 type ConvoCreatedAt = St::ConvoCreatedAt;
4485 type ConvoId = St::ConvoId;
4486 type CreatedAt = St::CreatedAt;
4487 type GroupMemberCount = St::GroupMemberCount;
4488 type GroupName = St::GroupName;
4489 type OwnerDid = St::OwnerDid;
4490 type Rev = Set<members::rev>;
4491 type SubjectDid = St::SubjectDid;
4492 }
4493 pub struct SetSubjectDid<St: State = Empty>(PhantomData<fn() -> St>);
4495 impl<St: State> sealed::Sealed for SetSubjectDid<St> {}
4496 impl<St: State> State for SetSubjectDid<St> {
4497 type ActorDid = St::ActorDid;
4498 type ConvoCreatedAt = St::ConvoCreatedAt;
4499 type ConvoId = St::ConvoId;
4500 type CreatedAt = St::CreatedAt;
4501 type GroupMemberCount = St::GroupMemberCount;
4502 type GroupName = St::GroupName;
4503 type OwnerDid = St::OwnerDid;
4504 type Rev = St::Rev;
4505 type SubjectDid = Set<members::subject_did>;
4506 }
4507 #[allow(non_camel_case_types)]
4509 pub mod members {
4510 pub struct actor_did(());
4512 pub struct convo_created_at(());
4514 pub struct convo_id(());
4516 pub struct created_at(());
4518 pub struct group_member_count(());
4520 pub struct group_name(());
4522 pub struct owner_did(());
4524 pub struct rev(());
4526 pub struct subject_did(());
4528 }
4529}
4530
4531pub struct EventGroupChatJoinRequestRejectedBuilder<
4533 St: event_group_chat_join_request_rejected_state::State,
4534 S: BosStr = DefaultStr,
4535> {
4536 _state: PhantomData<fn() -> St>,
4537 _fields: (
4538 Option<Did<S>>,
4539 Option<Datetime>,
4540 Option<S>,
4541 Option<Datetime>,
4542 Option<i64>,
4543 Option<S>,
4544 Option<Did<S>>,
4545 Option<S>,
4546 Option<Did<S>>,
4547 ),
4548 _type: PhantomData<fn() -> S>,
4549}
4550
4551impl EventGroupChatJoinRequestRejected<DefaultStr> {
4552 pub fn new() -> EventGroupChatJoinRequestRejectedBuilder<
4554 event_group_chat_join_request_rejected_state::Empty,
4555 DefaultStr,
4556 > {
4557 EventGroupChatJoinRequestRejectedBuilder::new()
4558 }
4559}
4560
4561impl<S: BosStr> EventGroupChatJoinRequestRejected<S> {
4562 pub fn builder() -> EventGroupChatJoinRequestRejectedBuilder<
4564 event_group_chat_join_request_rejected_state::Empty,
4565 S,
4566 > {
4567 EventGroupChatJoinRequestRejectedBuilder::builder()
4568 }
4569}
4570
4571impl
4572 EventGroupChatJoinRequestRejectedBuilder<
4573 event_group_chat_join_request_rejected_state::Empty,
4574 DefaultStr,
4575 >
4576{
4577 pub fn new() -> Self {
4579 EventGroupChatJoinRequestRejectedBuilder {
4580 _state: PhantomData,
4581 _fields: (None, None, None, None, None, None, None, None, None),
4582 _type: PhantomData,
4583 }
4584 }
4585}
4586
4587impl<S: BosStr>
4588 EventGroupChatJoinRequestRejectedBuilder<event_group_chat_join_request_rejected_state::Empty, S>
4589{
4590 pub fn builder() -> Self {
4592 EventGroupChatJoinRequestRejectedBuilder {
4593 _state: PhantomData,
4594 _fields: (None, None, None, None, None, None, None, None, None),
4595 _type: PhantomData,
4596 }
4597 }
4598}
4599
4600impl<St, S: BosStr> EventGroupChatJoinRequestRejectedBuilder<St, S>
4601where
4602 St: event_group_chat_join_request_rejected_state::State,
4603 St::ActorDid: event_group_chat_join_request_rejected_state::IsUnset,
4604{
4605 pub fn actor_did(
4607 mut self,
4608 value: impl Into<Did<S>>,
4609 ) -> EventGroupChatJoinRequestRejectedBuilder<
4610 event_group_chat_join_request_rejected_state::SetActorDid<St>,
4611 S,
4612 > {
4613 self._fields.0 = Option::Some(value.into());
4614 EventGroupChatJoinRequestRejectedBuilder {
4615 _state: PhantomData,
4616 _fields: self._fields,
4617 _type: PhantomData,
4618 }
4619 }
4620}
4621
4622impl<St, S: BosStr> EventGroupChatJoinRequestRejectedBuilder<St, S>
4623where
4624 St: event_group_chat_join_request_rejected_state::State,
4625 St::ConvoCreatedAt: event_group_chat_join_request_rejected_state::IsUnset,
4626{
4627 pub fn convo_created_at(
4629 mut self,
4630 value: impl Into<Datetime>,
4631 ) -> EventGroupChatJoinRequestRejectedBuilder<
4632 event_group_chat_join_request_rejected_state::SetConvoCreatedAt<St>,
4633 S,
4634 > {
4635 self._fields.1 = Option::Some(value.into());
4636 EventGroupChatJoinRequestRejectedBuilder {
4637 _state: PhantomData,
4638 _fields: self._fields,
4639 _type: PhantomData,
4640 }
4641 }
4642}
4643
4644impl<St, S: BosStr> EventGroupChatJoinRequestRejectedBuilder<St, S>
4645where
4646 St: event_group_chat_join_request_rejected_state::State,
4647 St::ConvoId: event_group_chat_join_request_rejected_state::IsUnset,
4648{
4649 pub fn convo_id(
4651 mut self,
4652 value: impl Into<S>,
4653 ) -> EventGroupChatJoinRequestRejectedBuilder<
4654 event_group_chat_join_request_rejected_state::SetConvoId<St>,
4655 S,
4656 > {
4657 self._fields.2 = Option::Some(value.into());
4658 EventGroupChatJoinRequestRejectedBuilder {
4659 _state: PhantomData,
4660 _fields: self._fields,
4661 _type: PhantomData,
4662 }
4663 }
4664}
4665
4666impl<St, S: BosStr> EventGroupChatJoinRequestRejectedBuilder<St, S>
4667where
4668 St: event_group_chat_join_request_rejected_state::State,
4669 St::CreatedAt: event_group_chat_join_request_rejected_state::IsUnset,
4670{
4671 pub fn created_at(
4673 mut self,
4674 value: impl Into<Datetime>,
4675 ) -> EventGroupChatJoinRequestRejectedBuilder<
4676 event_group_chat_join_request_rejected_state::SetCreatedAt<St>,
4677 S,
4678 > {
4679 self._fields.3 = Option::Some(value.into());
4680 EventGroupChatJoinRequestRejectedBuilder {
4681 _state: PhantomData,
4682 _fields: self._fields,
4683 _type: PhantomData,
4684 }
4685 }
4686}
4687
4688impl<St, S: BosStr> EventGroupChatJoinRequestRejectedBuilder<St, S>
4689where
4690 St: event_group_chat_join_request_rejected_state::State,
4691 St::GroupMemberCount: event_group_chat_join_request_rejected_state::IsUnset,
4692{
4693 pub fn group_member_count(
4695 mut self,
4696 value: impl Into<i64>,
4697 ) -> EventGroupChatJoinRequestRejectedBuilder<
4698 event_group_chat_join_request_rejected_state::SetGroupMemberCount<St>,
4699 S,
4700 > {
4701 self._fields.4 = Option::Some(value.into());
4702 EventGroupChatJoinRequestRejectedBuilder {
4703 _state: PhantomData,
4704 _fields: self._fields,
4705 _type: PhantomData,
4706 }
4707 }
4708}
4709
4710impl<St, S: BosStr> EventGroupChatJoinRequestRejectedBuilder<St, S>
4711where
4712 St: event_group_chat_join_request_rejected_state::State,
4713 St::GroupName: event_group_chat_join_request_rejected_state::IsUnset,
4714{
4715 pub fn group_name(
4717 mut self,
4718 value: impl Into<S>,
4719 ) -> EventGroupChatJoinRequestRejectedBuilder<
4720 event_group_chat_join_request_rejected_state::SetGroupName<St>,
4721 S,
4722 > {
4723 self._fields.5 = Option::Some(value.into());
4724 EventGroupChatJoinRequestRejectedBuilder {
4725 _state: PhantomData,
4726 _fields: self._fields,
4727 _type: PhantomData,
4728 }
4729 }
4730}
4731
4732impl<St, S: BosStr> EventGroupChatJoinRequestRejectedBuilder<St, S>
4733where
4734 St: event_group_chat_join_request_rejected_state::State,
4735 St::OwnerDid: event_group_chat_join_request_rejected_state::IsUnset,
4736{
4737 pub fn owner_did(
4739 mut self,
4740 value: impl Into<Did<S>>,
4741 ) -> EventGroupChatJoinRequestRejectedBuilder<
4742 event_group_chat_join_request_rejected_state::SetOwnerDid<St>,
4743 S,
4744 > {
4745 self._fields.6 = Option::Some(value.into());
4746 EventGroupChatJoinRequestRejectedBuilder {
4747 _state: PhantomData,
4748 _fields: self._fields,
4749 _type: PhantomData,
4750 }
4751 }
4752}
4753
4754impl<St, S: BosStr> EventGroupChatJoinRequestRejectedBuilder<St, S>
4755where
4756 St: event_group_chat_join_request_rejected_state::State,
4757 St::Rev: event_group_chat_join_request_rejected_state::IsUnset,
4758{
4759 pub fn rev(
4761 mut self,
4762 value: impl Into<S>,
4763 ) -> EventGroupChatJoinRequestRejectedBuilder<
4764 event_group_chat_join_request_rejected_state::SetRev<St>,
4765 S,
4766 > {
4767 self._fields.7 = Option::Some(value.into());
4768 EventGroupChatJoinRequestRejectedBuilder {
4769 _state: PhantomData,
4770 _fields: self._fields,
4771 _type: PhantomData,
4772 }
4773 }
4774}
4775
4776impl<St, S: BosStr> EventGroupChatJoinRequestRejectedBuilder<St, S>
4777where
4778 St: event_group_chat_join_request_rejected_state::State,
4779 St::SubjectDid: event_group_chat_join_request_rejected_state::IsUnset,
4780{
4781 pub fn subject_did(
4783 mut self,
4784 value: impl Into<Did<S>>,
4785 ) -> EventGroupChatJoinRequestRejectedBuilder<
4786 event_group_chat_join_request_rejected_state::SetSubjectDid<St>,
4787 S,
4788 > {
4789 self._fields.8 = Option::Some(value.into());
4790 EventGroupChatJoinRequestRejectedBuilder {
4791 _state: PhantomData,
4792 _fields: self._fields,
4793 _type: PhantomData,
4794 }
4795 }
4796}
4797
4798impl<St, S: BosStr> EventGroupChatJoinRequestRejectedBuilder<St, S>
4799where
4800 St: event_group_chat_join_request_rejected_state::State,
4801 St::ActorDid: event_group_chat_join_request_rejected_state::IsSet,
4802 St::ConvoCreatedAt: event_group_chat_join_request_rejected_state::IsSet,
4803 St::ConvoId: event_group_chat_join_request_rejected_state::IsSet,
4804 St::CreatedAt: event_group_chat_join_request_rejected_state::IsSet,
4805 St::GroupMemberCount: event_group_chat_join_request_rejected_state::IsSet,
4806 St::GroupName: event_group_chat_join_request_rejected_state::IsSet,
4807 St::OwnerDid: event_group_chat_join_request_rejected_state::IsSet,
4808 St::Rev: event_group_chat_join_request_rejected_state::IsSet,
4809 St::SubjectDid: event_group_chat_join_request_rejected_state::IsSet,
4810{
4811 pub fn build(self) -> EventGroupChatJoinRequestRejected<S> {
4813 EventGroupChatJoinRequestRejected {
4814 actor_did: self._fields.0.unwrap(),
4815 convo_created_at: self._fields.1.unwrap(),
4816 convo_id: self._fields.2.unwrap(),
4817 created_at: self._fields.3.unwrap(),
4818 group_member_count: self._fields.4.unwrap(),
4819 group_name: self._fields.5.unwrap(),
4820 owner_did: self._fields.6.unwrap(),
4821 rev: self._fields.7.unwrap(),
4822 subject_did: self._fields.8.unwrap(),
4823 extra_data: Default::default(),
4824 }
4825 }
4826 pub fn build_with_data(
4828 self,
4829 extra_data: BTreeMap<SmolStr, Data<S>>,
4830 ) -> EventGroupChatJoinRequestRejected<S> {
4831 EventGroupChatJoinRequestRejected {
4832 actor_did: self._fields.0.unwrap(),
4833 convo_created_at: self._fields.1.unwrap(),
4834 convo_id: self._fields.2.unwrap(),
4835 created_at: self._fields.3.unwrap(),
4836 group_member_count: self._fields.4.unwrap(),
4837 group_name: self._fields.5.unwrap(),
4838 owner_did: self._fields.6.unwrap(),
4839 rev: self._fields.7.unwrap(),
4840 subject_did: self._fields.8.unwrap(),
4841 extra_data: Some(extra_data),
4842 }
4843 }
4844}
4845
4846pub mod event_group_chat_member_added_state {
4847
4848 pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
4849 #[allow(unused)]
4850 use ::core::marker::PhantomData;
4851 mod sealed {
4852 pub trait Sealed {}
4853 }
4854 pub trait State: sealed::Sealed {
4856 type ActorDid;
4857 type ConvoCreatedAt;
4858 type ConvoId;
4859 type CreatedAt;
4860 type GroupMemberCount;
4861 type GroupName;
4862 type OwnerDid;
4863 type RequestMembersCount;
4864 type Rev;
4865 type SubjectDid;
4866 type SubjectFollowsOwner;
4867 }
4868 pub struct Empty(());
4870 impl sealed::Sealed for Empty {}
4871 impl State for Empty {
4872 type ActorDid = Unset;
4873 type ConvoCreatedAt = Unset;
4874 type ConvoId = Unset;
4875 type CreatedAt = Unset;
4876 type GroupMemberCount = Unset;
4877 type GroupName = Unset;
4878 type OwnerDid = Unset;
4879 type RequestMembersCount = Unset;
4880 type Rev = Unset;
4881 type SubjectDid = Unset;
4882 type SubjectFollowsOwner = Unset;
4883 }
4884 pub struct SetActorDid<St: State = Empty>(PhantomData<fn() -> St>);
4886 impl<St: State> sealed::Sealed for SetActorDid<St> {}
4887 impl<St: State> State for SetActorDid<St> {
4888 type ActorDid = Set<members::actor_did>;
4889 type ConvoCreatedAt = St::ConvoCreatedAt;
4890 type ConvoId = St::ConvoId;
4891 type CreatedAt = St::CreatedAt;
4892 type GroupMemberCount = St::GroupMemberCount;
4893 type GroupName = St::GroupName;
4894 type OwnerDid = St::OwnerDid;
4895 type RequestMembersCount = St::RequestMembersCount;
4896 type Rev = St::Rev;
4897 type SubjectDid = St::SubjectDid;
4898 type SubjectFollowsOwner = St::SubjectFollowsOwner;
4899 }
4900 pub struct SetConvoCreatedAt<St: State = Empty>(PhantomData<fn() -> St>);
4902 impl<St: State> sealed::Sealed for SetConvoCreatedAt<St> {}
4903 impl<St: State> State for SetConvoCreatedAt<St> {
4904 type ActorDid = St::ActorDid;
4905 type ConvoCreatedAt = Set<members::convo_created_at>;
4906 type ConvoId = St::ConvoId;
4907 type CreatedAt = St::CreatedAt;
4908 type GroupMemberCount = St::GroupMemberCount;
4909 type GroupName = St::GroupName;
4910 type OwnerDid = St::OwnerDid;
4911 type RequestMembersCount = St::RequestMembersCount;
4912 type Rev = St::Rev;
4913 type SubjectDid = St::SubjectDid;
4914 type SubjectFollowsOwner = St::SubjectFollowsOwner;
4915 }
4916 pub struct SetConvoId<St: State = Empty>(PhantomData<fn() -> St>);
4918 impl<St: State> sealed::Sealed for SetConvoId<St> {}
4919 impl<St: State> State for SetConvoId<St> {
4920 type ActorDid = St::ActorDid;
4921 type ConvoCreatedAt = St::ConvoCreatedAt;
4922 type ConvoId = Set<members::convo_id>;
4923 type CreatedAt = St::CreatedAt;
4924 type GroupMemberCount = St::GroupMemberCount;
4925 type GroupName = St::GroupName;
4926 type OwnerDid = St::OwnerDid;
4927 type RequestMembersCount = St::RequestMembersCount;
4928 type Rev = St::Rev;
4929 type SubjectDid = St::SubjectDid;
4930 type SubjectFollowsOwner = St::SubjectFollowsOwner;
4931 }
4932 pub struct SetCreatedAt<St: State = Empty>(PhantomData<fn() -> St>);
4934 impl<St: State> sealed::Sealed for SetCreatedAt<St> {}
4935 impl<St: State> State for SetCreatedAt<St> {
4936 type ActorDid = St::ActorDid;
4937 type ConvoCreatedAt = St::ConvoCreatedAt;
4938 type ConvoId = St::ConvoId;
4939 type CreatedAt = Set<members::created_at>;
4940 type GroupMemberCount = St::GroupMemberCount;
4941 type GroupName = St::GroupName;
4942 type OwnerDid = St::OwnerDid;
4943 type RequestMembersCount = St::RequestMembersCount;
4944 type Rev = St::Rev;
4945 type SubjectDid = St::SubjectDid;
4946 type SubjectFollowsOwner = St::SubjectFollowsOwner;
4947 }
4948 pub struct SetGroupMemberCount<St: State = Empty>(PhantomData<fn() -> St>);
4950 impl<St: State> sealed::Sealed for SetGroupMemberCount<St> {}
4951 impl<St: State> State for SetGroupMemberCount<St> {
4952 type ActorDid = St::ActorDid;
4953 type ConvoCreatedAt = St::ConvoCreatedAt;
4954 type ConvoId = St::ConvoId;
4955 type CreatedAt = St::CreatedAt;
4956 type GroupMemberCount = Set<members::group_member_count>;
4957 type GroupName = St::GroupName;
4958 type OwnerDid = St::OwnerDid;
4959 type RequestMembersCount = St::RequestMembersCount;
4960 type Rev = St::Rev;
4961 type SubjectDid = St::SubjectDid;
4962 type SubjectFollowsOwner = St::SubjectFollowsOwner;
4963 }
4964 pub struct SetGroupName<St: State = Empty>(PhantomData<fn() -> St>);
4966 impl<St: State> sealed::Sealed for SetGroupName<St> {}
4967 impl<St: State> State for SetGroupName<St> {
4968 type ActorDid = St::ActorDid;
4969 type ConvoCreatedAt = St::ConvoCreatedAt;
4970 type ConvoId = St::ConvoId;
4971 type CreatedAt = St::CreatedAt;
4972 type GroupMemberCount = St::GroupMemberCount;
4973 type GroupName = Set<members::group_name>;
4974 type OwnerDid = St::OwnerDid;
4975 type RequestMembersCount = St::RequestMembersCount;
4976 type Rev = St::Rev;
4977 type SubjectDid = St::SubjectDid;
4978 type SubjectFollowsOwner = St::SubjectFollowsOwner;
4979 }
4980 pub struct SetOwnerDid<St: State = Empty>(PhantomData<fn() -> St>);
4982 impl<St: State> sealed::Sealed for SetOwnerDid<St> {}
4983 impl<St: State> State for SetOwnerDid<St> {
4984 type ActorDid = St::ActorDid;
4985 type ConvoCreatedAt = St::ConvoCreatedAt;
4986 type ConvoId = St::ConvoId;
4987 type CreatedAt = St::CreatedAt;
4988 type GroupMemberCount = St::GroupMemberCount;
4989 type GroupName = St::GroupName;
4990 type OwnerDid = Set<members::owner_did>;
4991 type RequestMembersCount = St::RequestMembersCount;
4992 type Rev = St::Rev;
4993 type SubjectDid = St::SubjectDid;
4994 type SubjectFollowsOwner = St::SubjectFollowsOwner;
4995 }
4996 pub struct SetRequestMembersCount<St: State = Empty>(PhantomData<fn() -> St>);
4998 impl<St: State> sealed::Sealed for SetRequestMembersCount<St> {}
4999 impl<St: State> State for SetRequestMembersCount<St> {
5000 type ActorDid = St::ActorDid;
5001 type ConvoCreatedAt = St::ConvoCreatedAt;
5002 type ConvoId = St::ConvoId;
5003 type CreatedAt = St::CreatedAt;
5004 type GroupMemberCount = St::GroupMemberCount;
5005 type GroupName = St::GroupName;
5006 type OwnerDid = St::OwnerDid;
5007 type RequestMembersCount = Set<members::request_members_count>;
5008 type Rev = St::Rev;
5009 type SubjectDid = St::SubjectDid;
5010 type SubjectFollowsOwner = St::SubjectFollowsOwner;
5011 }
5012 pub struct SetRev<St: State = Empty>(PhantomData<fn() -> St>);
5014 impl<St: State> sealed::Sealed for SetRev<St> {}
5015 impl<St: State> State for SetRev<St> {
5016 type ActorDid = St::ActorDid;
5017 type ConvoCreatedAt = St::ConvoCreatedAt;
5018 type ConvoId = St::ConvoId;
5019 type CreatedAt = St::CreatedAt;
5020 type GroupMemberCount = St::GroupMemberCount;
5021 type GroupName = St::GroupName;
5022 type OwnerDid = St::OwnerDid;
5023 type RequestMembersCount = St::RequestMembersCount;
5024 type Rev = Set<members::rev>;
5025 type SubjectDid = St::SubjectDid;
5026 type SubjectFollowsOwner = St::SubjectFollowsOwner;
5027 }
5028 pub struct SetSubjectDid<St: State = Empty>(PhantomData<fn() -> St>);
5030 impl<St: State> sealed::Sealed for SetSubjectDid<St> {}
5031 impl<St: State> State for SetSubjectDid<St> {
5032 type ActorDid = St::ActorDid;
5033 type ConvoCreatedAt = St::ConvoCreatedAt;
5034 type ConvoId = St::ConvoId;
5035 type CreatedAt = St::CreatedAt;
5036 type GroupMemberCount = St::GroupMemberCount;
5037 type GroupName = St::GroupName;
5038 type OwnerDid = St::OwnerDid;
5039 type RequestMembersCount = St::RequestMembersCount;
5040 type Rev = St::Rev;
5041 type SubjectDid = Set<members::subject_did>;
5042 type SubjectFollowsOwner = St::SubjectFollowsOwner;
5043 }
5044 pub struct SetSubjectFollowsOwner<St: State = Empty>(PhantomData<fn() -> St>);
5046 impl<St: State> sealed::Sealed for SetSubjectFollowsOwner<St> {}
5047 impl<St: State> State for SetSubjectFollowsOwner<St> {
5048 type ActorDid = St::ActorDid;
5049 type ConvoCreatedAt = St::ConvoCreatedAt;
5050 type ConvoId = St::ConvoId;
5051 type CreatedAt = St::CreatedAt;
5052 type GroupMemberCount = St::GroupMemberCount;
5053 type GroupName = St::GroupName;
5054 type OwnerDid = St::OwnerDid;
5055 type RequestMembersCount = St::RequestMembersCount;
5056 type Rev = St::Rev;
5057 type SubjectDid = St::SubjectDid;
5058 type SubjectFollowsOwner = Set<members::subject_follows_owner>;
5059 }
5060 #[allow(non_camel_case_types)]
5062 pub mod members {
5063 pub struct actor_did(());
5065 pub struct convo_created_at(());
5067 pub struct convo_id(());
5069 pub struct created_at(());
5071 pub struct group_member_count(());
5073 pub struct group_name(());
5075 pub struct owner_did(());
5077 pub struct request_members_count(());
5079 pub struct rev(());
5081 pub struct subject_did(());
5083 pub struct subject_follows_owner(());
5085 }
5086}
5087
5088pub struct EventGroupChatMemberAddedBuilder<
5090 St: event_group_chat_member_added_state::State,
5091 S: BosStr = DefaultStr,
5092> {
5093 _state: PhantomData<fn() -> St>,
5094 _fields: (
5095 Option<Did<S>>,
5096 Option<Datetime>,
5097 Option<S>,
5098 Option<Datetime>,
5099 Option<i64>,
5100 Option<S>,
5101 Option<Did<S>>,
5102 Option<i64>,
5103 Option<S>,
5104 Option<Did<S>>,
5105 Option<bool>,
5106 ),
5107 _type: PhantomData<fn() -> S>,
5108}
5109
5110impl EventGroupChatMemberAdded<DefaultStr> {
5111 pub fn new()
5113 -> EventGroupChatMemberAddedBuilder<event_group_chat_member_added_state::Empty, DefaultStr>
5114 {
5115 EventGroupChatMemberAddedBuilder::new()
5116 }
5117}
5118
5119impl<S: BosStr> EventGroupChatMemberAdded<S> {
5120 pub fn builder()
5122 -> EventGroupChatMemberAddedBuilder<event_group_chat_member_added_state::Empty, S> {
5123 EventGroupChatMemberAddedBuilder::builder()
5124 }
5125}
5126
5127impl EventGroupChatMemberAddedBuilder<event_group_chat_member_added_state::Empty, DefaultStr> {
5128 pub fn new() -> Self {
5130 EventGroupChatMemberAddedBuilder {
5131 _state: PhantomData,
5132 _fields: (
5133 None, None, None, None, None, None, None, None, None, None, None,
5134 ),
5135 _type: PhantomData,
5136 }
5137 }
5138}
5139
5140impl<S: BosStr> EventGroupChatMemberAddedBuilder<event_group_chat_member_added_state::Empty, S> {
5141 pub fn builder() -> Self {
5143 EventGroupChatMemberAddedBuilder {
5144 _state: PhantomData,
5145 _fields: (
5146 None, None, None, None, None, None, None, None, None, None, None,
5147 ),
5148 _type: PhantomData,
5149 }
5150 }
5151}
5152
5153impl<St, S: BosStr> EventGroupChatMemberAddedBuilder<St, S>
5154where
5155 St: event_group_chat_member_added_state::State,
5156 St::ActorDid: event_group_chat_member_added_state::IsUnset,
5157{
5158 pub fn actor_did(
5160 mut self,
5161 value: impl Into<Did<S>>,
5162 ) -> EventGroupChatMemberAddedBuilder<event_group_chat_member_added_state::SetActorDid<St>, S>
5163 {
5164 self._fields.0 = Option::Some(value.into());
5165 EventGroupChatMemberAddedBuilder {
5166 _state: PhantomData,
5167 _fields: self._fields,
5168 _type: PhantomData,
5169 }
5170 }
5171}
5172
5173impl<St, S: BosStr> EventGroupChatMemberAddedBuilder<St, S>
5174where
5175 St: event_group_chat_member_added_state::State,
5176 St::ConvoCreatedAt: event_group_chat_member_added_state::IsUnset,
5177{
5178 pub fn convo_created_at(
5180 mut self,
5181 value: impl Into<Datetime>,
5182 ) -> EventGroupChatMemberAddedBuilder<
5183 event_group_chat_member_added_state::SetConvoCreatedAt<St>,
5184 S,
5185 > {
5186 self._fields.1 = Option::Some(value.into());
5187 EventGroupChatMemberAddedBuilder {
5188 _state: PhantomData,
5189 _fields: self._fields,
5190 _type: PhantomData,
5191 }
5192 }
5193}
5194
5195impl<St, S: BosStr> EventGroupChatMemberAddedBuilder<St, S>
5196where
5197 St: event_group_chat_member_added_state::State,
5198 St::ConvoId: event_group_chat_member_added_state::IsUnset,
5199{
5200 pub fn convo_id(
5202 mut self,
5203 value: impl Into<S>,
5204 ) -> EventGroupChatMemberAddedBuilder<event_group_chat_member_added_state::SetConvoId<St>, S>
5205 {
5206 self._fields.2 = Option::Some(value.into());
5207 EventGroupChatMemberAddedBuilder {
5208 _state: PhantomData,
5209 _fields: self._fields,
5210 _type: PhantomData,
5211 }
5212 }
5213}
5214
5215impl<St, S: BosStr> EventGroupChatMemberAddedBuilder<St, S>
5216where
5217 St: event_group_chat_member_added_state::State,
5218 St::CreatedAt: event_group_chat_member_added_state::IsUnset,
5219{
5220 pub fn created_at(
5222 mut self,
5223 value: impl Into<Datetime>,
5224 ) -> EventGroupChatMemberAddedBuilder<event_group_chat_member_added_state::SetCreatedAt<St>, S>
5225 {
5226 self._fields.3 = Option::Some(value.into());
5227 EventGroupChatMemberAddedBuilder {
5228 _state: PhantomData,
5229 _fields: self._fields,
5230 _type: PhantomData,
5231 }
5232 }
5233}
5234
5235impl<St, S: BosStr> EventGroupChatMemberAddedBuilder<St, S>
5236where
5237 St: event_group_chat_member_added_state::State,
5238 St::GroupMemberCount: event_group_chat_member_added_state::IsUnset,
5239{
5240 pub fn group_member_count(
5242 mut self,
5243 value: impl Into<i64>,
5244 ) -> EventGroupChatMemberAddedBuilder<
5245 event_group_chat_member_added_state::SetGroupMemberCount<St>,
5246 S,
5247 > {
5248 self._fields.4 = Option::Some(value.into());
5249 EventGroupChatMemberAddedBuilder {
5250 _state: PhantomData,
5251 _fields: self._fields,
5252 _type: PhantomData,
5253 }
5254 }
5255}
5256
5257impl<St, S: BosStr> EventGroupChatMemberAddedBuilder<St, S>
5258where
5259 St: event_group_chat_member_added_state::State,
5260 St::GroupName: event_group_chat_member_added_state::IsUnset,
5261{
5262 pub fn group_name(
5264 mut self,
5265 value: impl Into<S>,
5266 ) -> EventGroupChatMemberAddedBuilder<event_group_chat_member_added_state::SetGroupName<St>, S>
5267 {
5268 self._fields.5 = Option::Some(value.into());
5269 EventGroupChatMemberAddedBuilder {
5270 _state: PhantomData,
5271 _fields: self._fields,
5272 _type: PhantomData,
5273 }
5274 }
5275}
5276
5277impl<St, S: BosStr> EventGroupChatMemberAddedBuilder<St, S>
5278where
5279 St: event_group_chat_member_added_state::State,
5280 St::OwnerDid: event_group_chat_member_added_state::IsUnset,
5281{
5282 pub fn owner_did(
5284 mut self,
5285 value: impl Into<Did<S>>,
5286 ) -> EventGroupChatMemberAddedBuilder<event_group_chat_member_added_state::SetOwnerDid<St>, S>
5287 {
5288 self._fields.6 = Option::Some(value.into());
5289 EventGroupChatMemberAddedBuilder {
5290 _state: PhantomData,
5291 _fields: self._fields,
5292 _type: PhantomData,
5293 }
5294 }
5295}
5296
5297impl<St, S: BosStr> EventGroupChatMemberAddedBuilder<St, S>
5298where
5299 St: event_group_chat_member_added_state::State,
5300 St::RequestMembersCount: event_group_chat_member_added_state::IsUnset,
5301{
5302 pub fn request_members_count(
5304 mut self,
5305 value: impl Into<i64>,
5306 ) -> EventGroupChatMemberAddedBuilder<
5307 event_group_chat_member_added_state::SetRequestMembersCount<St>,
5308 S,
5309 > {
5310 self._fields.7 = Option::Some(value.into());
5311 EventGroupChatMemberAddedBuilder {
5312 _state: PhantomData,
5313 _fields: self._fields,
5314 _type: PhantomData,
5315 }
5316 }
5317}
5318
5319impl<St, S: BosStr> EventGroupChatMemberAddedBuilder<St, S>
5320where
5321 St: event_group_chat_member_added_state::State,
5322 St::Rev: event_group_chat_member_added_state::IsUnset,
5323{
5324 pub fn rev(
5326 mut self,
5327 value: impl Into<S>,
5328 ) -> EventGroupChatMemberAddedBuilder<event_group_chat_member_added_state::SetRev<St>, S> {
5329 self._fields.8 = Option::Some(value.into());
5330 EventGroupChatMemberAddedBuilder {
5331 _state: PhantomData,
5332 _fields: self._fields,
5333 _type: PhantomData,
5334 }
5335 }
5336}
5337
5338impl<St, S: BosStr> EventGroupChatMemberAddedBuilder<St, S>
5339where
5340 St: event_group_chat_member_added_state::State,
5341 St::SubjectDid: event_group_chat_member_added_state::IsUnset,
5342{
5343 pub fn subject_did(
5345 mut self,
5346 value: impl Into<Did<S>>,
5347 ) -> EventGroupChatMemberAddedBuilder<event_group_chat_member_added_state::SetSubjectDid<St>, S>
5348 {
5349 self._fields.9 = Option::Some(value.into());
5350 EventGroupChatMemberAddedBuilder {
5351 _state: PhantomData,
5352 _fields: self._fields,
5353 _type: PhantomData,
5354 }
5355 }
5356}
5357
5358impl<St, S: BosStr> EventGroupChatMemberAddedBuilder<St, S>
5359where
5360 St: event_group_chat_member_added_state::State,
5361 St::SubjectFollowsOwner: event_group_chat_member_added_state::IsUnset,
5362{
5363 pub fn subject_follows_owner(
5365 mut self,
5366 value: impl Into<bool>,
5367 ) -> EventGroupChatMemberAddedBuilder<
5368 event_group_chat_member_added_state::SetSubjectFollowsOwner<St>,
5369 S,
5370 > {
5371 self._fields.10 = Option::Some(value.into());
5372 EventGroupChatMemberAddedBuilder {
5373 _state: PhantomData,
5374 _fields: self._fields,
5375 _type: PhantomData,
5376 }
5377 }
5378}
5379
5380impl<St, S: BosStr> EventGroupChatMemberAddedBuilder<St, S>
5381where
5382 St: event_group_chat_member_added_state::State,
5383 St::ActorDid: event_group_chat_member_added_state::IsSet,
5384 St::ConvoCreatedAt: event_group_chat_member_added_state::IsSet,
5385 St::ConvoId: event_group_chat_member_added_state::IsSet,
5386 St::CreatedAt: event_group_chat_member_added_state::IsSet,
5387 St::GroupMemberCount: event_group_chat_member_added_state::IsSet,
5388 St::GroupName: event_group_chat_member_added_state::IsSet,
5389 St::OwnerDid: event_group_chat_member_added_state::IsSet,
5390 St::RequestMembersCount: event_group_chat_member_added_state::IsSet,
5391 St::Rev: event_group_chat_member_added_state::IsSet,
5392 St::SubjectDid: event_group_chat_member_added_state::IsSet,
5393 St::SubjectFollowsOwner: event_group_chat_member_added_state::IsSet,
5394{
5395 pub fn build(self) -> EventGroupChatMemberAdded<S> {
5397 EventGroupChatMemberAdded {
5398 actor_did: self._fields.0.unwrap(),
5399 convo_created_at: self._fields.1.unwrap(),
5400 convo_id: self._fields.2.unwrap(),
5401 created_at: self._fields.3.unwrap(),
5402 group_member_count: self._fields.4.unwrap(),
5403 group_name: self._fields.5.unwrap(),
5404 owner_did: self._fields.6.unwrap(),
5405 request_members_count: self._fields.7.unwrap(),
5406 rev: self._fields.8.unwrap(),
5407 subject_did: self._fields.9.unwrap(),
5408 subject_follows_owner: self._fields.10.unwrap(),
5409 extra_data: Default::default(),
5410 }
5411 }
5412 pub fn build_with_data(
5414 self,
5415 extra_data: BTreeMap<SmolStr, Data<S>>,
5416 ) -> EventGroupChatMemberAdded<S> {
5417 EventGroupChatMemberAdded {
5418 actor_did: self._fields.0.unwrap(),
5419 convo_created_at: self._fields.1.unwrap(),
5420 convo_id: self._fields.2.unwrap(),
5421 created_at: self._fields.3.unwrap(),
5422 group_member_count: self._fields.4.unwrap(),
5423 group_name: self._fields.5.unwrap(),
5424 owner_did: self._fields.6.unwrap(),
5425 request_members_count: self._fields.7.unwrap(),
5426 rev: self._fields.8.unwrap(),
5427 subject_did: self._fields.9.unwrap(),
5428 subject_follows_owner: self._fields.10.unwrap(),
5429 extra_data: Some(extra_data),
5430 }
5431 }
5432}
5433
5434pub mod event_group_chat_member_joined_state {
5435
5436 pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
5437 #[allow(unused)]
5438 use ::core::marker::PhantomData;
5439 mod sealed {
5440 pub trait Sealed {}
5441 }
5442 pub trait State: sealed::Sealed {
5444 type ActorDid;
5445 type ConvoCreatedAt;
5446 type ConvoId;
5447 type CreatedAt;
5448 type GroupMemberCount;
5449 type GroupName;
5450 type JoinLinkCode;
5451 type OwnerDid;
5452 type Rev;
5453 type SubjectFollowsOwner;
5454 }
5455 pub struct Empty(());
5457 impl sealed::Sealed for Empty {}
5458 impl State for Empty {
5459 type ActorDid = Unset;
5460 type ConvoCreatedAt = Unset;
5461 type ConvoId = Unset;
5462 type CreatedAt = Unset;
5463 type GroupMemberCount = Unset;
5464 type GroupName = Unset;
5465 type JoinLinkCode = Unset;
5466 type OwnerDid = Unset;
5467 type Rev = Unset;
5468 type SubjectFollowsOwner = Unset;
5469 }
5470 pub struct SetActorDid<St: State = Empty>(PhantomData<fn() -> St>);
5472 impl<St: State> sealed::Sealed for SetActorDid<St> {}
5473 impl<St: State> State for SetActorDid<St> {
5474 type ActorDid = Set<members::actor_did>;
5475 type ConvoCreatedAt = St::ConvoCreatedAt;
5476 type ConvoId = St::ConvoId;
5477 type CreatedAt = St::CreatedAt;
5478 type GroupMemberCount = St::GroupMemberCount;
5479 type GroupName = St::GroupName;
5480 type JoinLinkCode = St::JoinLinkCode;
5481 type OwnerDid = St::OwnerDid;
5482 type Rev = St::Rev;
5483 type SubjectFollowsOwner = St::SubjectFollowsOwner;
5484 }
5485 pub struct SetConvoCreatedAt<St: State = Empty>(PhantomData<fn() -> St>);
5487 impl<St: State> sealed::Sealed for SetConvoCreatedAt<St> {}
5488 impl<St: State> State for SetConvoCreatedAt<St> {
5489 type ActorDid = St::ActorDid;
5490 type ConvoCreatedAt = Set<members::convo_created_at>;
5491 type ConvoId = St::ConvoId;
5492 type CreatedAt = St::CreatedAt;
5493 type GroupMemberCount = St::GroupMemberCount;
5494 type GroupName = St::GroupName;
5495 type JoinLinkCode = St::JoinLinkCode;
5496 type OwnerDid = St::OwnerDid;
5497 type Rev = St::Rev;
5498 type SubjectFollowsOwner = St::SubjectFollowsOwner;
5499 }
5500 pub struct SetConvoId<St: State = Empty>(PhantomData<fn() -> St>);
5502 impl<St: State> sealed::Sealed for SetConvoId<St> {}
5503 impl<St: State> State for SetConvoId<St> {
5504 type ActorDid = St::ActorDid;
5505 type ConvoCreatedAt = St::ConvoCreatedAt;
5506 type ConvoId = Set<members::convo_id>;
5507 type CreatedAt = St::CreatedAt;
5508 type GroupMemberCount = St::GroupMemberCount;
5509 type GroupName = St::GroupName;
5510 type JoinLinkCode = St::JoinLinkCode;
5511 type OwnerDid = St::OwnerDid;
5512 type Rev = St::Rev;
5513 type SubjectFollowsOwner = St::SubjectFollowsOwner;
5514 }
5515 pub struct SetCreatedAt<St: State = Empty>(PhantomData<fn() -> St>);
5517 impl<St: State> sealed::Sealed for SetCreatedAt<St> {}
5518 impl<St: State> State for SetCreatedAt<St> {
5519 type ActorDid = St::ActorDid;
5520 type ConvoCreatedAt = St::ConvoCreatedAt;
5521 type ConvoId = St::ConvoId;
5522 type CreatedAt = Set<members::created_at>;
5523 type GroupMemberCount = St::GroupMemberCount;
5524 type GroupName = St::GroupName;
5525 type JoinLinkCode = St::JoinLinkCode;
5526 type OwnerDid = St::OwnerDid;
5527 type Rev = St::Rev;
5528 type SubjectFollowsOwner = St::SubjectFollowsOwner;
5529 }
5530 pub struct SetGroupMemberCount<St: State = Empty>(PhantomData<fn() -> St>);
5532 impl<St: State> sealed::Sealed for SetGroupMemberCount<St> {}
5533 impl<St: State> State for SetGroupMemberCount<St> {
5534 type ActorDid = St::ActorDid;
5535 type ConvoCreatedAt = St::ConvoCreatedAt;
5536 type ConvoId = St::ConvoId;
5537 type CreatedAt = St::CreatedAt;
5538 type GroupMemberCount = Set<members::group_member_count>;
5539 type GroupName = St::GroupName;
5540 type JoinLinkCode = St::JoinLinkCode;
5541 type OwnerDid = St::OwnerDid;
5542 type Rev = St::Rev;
5543 type SubjectFollowsOwner = St::SubjectFollowsOwner;
5544 }
5545 pub struct SetGroupName<St: State = Empty>(PhantomData<fn() -> St>);
5547 impl<St: State> sealed::Sealed for SetGroupName<St> {}
5548 impl<St: State> State for SetGroupName<St> {
5549 type ActorDid = St::ActorDid;
5550 type ConvoCreatedAt = St::ConvoCreatedAt;
5551 type ConvoId = St::ConvoId;
5552 type CreatedAt = St::CreatedAt;
5553 type GroupMemberCount = St::GroupMemberCount;
5554 type GroupName = Set<members::group_name>;
5555 type JoinLinkCode = St::JoinLinkCode;
5556 type OwnerDid = St::OwnerDid;
5557 type Rev = St::Rev;
5558 type SubjectFollowsOwner = St::SubjectFollowsOwner;
5559 }
5560 pub struct SetJoinLinkCode<St: State = Empty>(PhantomData<fn() -> St>);
5562 impl<St: State> sealed::Sealed for SetJoinLinkCode<St> {}
5563 impl<St: State> State for SetJoinLinkCode<St> {
5564 type ActorDid = St::ActorDid;
5565 type ConvoCreatedAt = St::ConvoCreatedAt;
5566 type ConvoId = St::ConvoId;
5567 type CreatedAt = St::CreatedAt;
5568 type GroupMemberCount = St::GroupMemberCount;
5569 type GroupName = St::GroupName;
5570 type JoinLinkCode = Set<members::join_link_code>;
5571 type OwnerDid = St::OwnerDid;
5572 type Rev = St::Rev;
5573 type SubjectFollowsOwner = St::SubjectFollowsOwner;
5574 }
5575 pub struct SetOwnerDid<St: State = Empty>(PhantomData<fn() -> St>);
5577 impl<St: State> sealed::Sealed for SetOwnerDid<St> {}
5578 impl<St: State> State for SetOwnerDid<St> {
5579 type ActorDid = St::ActorDid;
5580 type ConvoCreatedAt = St::ConvoCreatedAt;
5581 type ConvoId = St::ConvoId;
5582 type CreatedAt = St::CreatedAt;
5583 type GroupMemberCount = St::GroupMemberCount;
5584 type GroupName = St::GroupName;
5585 type JoinLinkCode = St::JoinLinkCode;
5586 type OwnerDid = Set<members::owner_did>;
5587 type Rev = St::Rev;
5588 type SubjectFollowsOwner = St::SubjectFollowsOwner;
5589 }
5590 pub struct SetRev<St: State = Empty>(PhantomData<fn() -> St>);
5592 impl<St: State> sealed::Sealed for SetRev<St> {}
5593 impl<St: State> State for SetRev<St> {
5594 type ActorDid = St::ActorDid;
5595 type ConvoCreatedAt = St::ConvoCreatedAt;
5596 type ConvoId = St::ConvoId;
5597 type CreatedAt = St::CreatedAt;
5598 type GroupMemberCount = St::GroupMemberCount;
5599 type GroupName = St::GroupName;
5600 type JoinLinkCode = St::JoinLinkCode;
5601 type OwnerDid = St::OwnerDid;
5602 type Rev = Set<members::rev>;
5603 type SubjectFollowsOwner = St::SubjectFollowsOwner;
5604 }
5605 pub struct SetSubjectFollowsOwner<St: State = Empty>(PhantomData<fn() -> St>);
5607 impl<St: State> sealed::Sealed for SetSubjectFollowsOwner<St> {}
5608 impl<St: State> State for SetSubjectFollowsOwner<St> {
5609 type ActorDid = St::ActorDid;
5610 type ConvoCreatedAt = St::ConvoCreatedAt;
5611 type ConvoId = St::ConvoId;
5612 type CreatedAt = St::CreatedAt;
5613 type GroupMemberCount = St::GroupMemberCount;
5614 type GroupName = St::GroupName;
5615 type JoinLinkCode = St::JoinLinkCode;
5616 type OwnerDid = St::OwnerDid;
5617 type Rev = St::Rev;
5618 type SubjectFollowsOwner = Set<members::subject_follows_owner>;
5619 }
5620 #[allow(non_camel_case_types)]
5622 pub mod members {
5623 pub struct actor_did(());
5625 pub struct convo_created_at(());
5627 pub struct convo_id(());
5629 pub struct created_at(());
5631 pub struct group_member_count(());
5633 pub struct group_name(());
5635 pub struct join_link_code(());
5637 pub struct owner_did(());
5639 pub struct rev(());
5641 pub struct subject_follows_owner(());
5643 }
5644}
5645
5646pub struct EventGroupChatMemberJoinedBuilder<
5648 St: event_group_chat_member_joined_state::State,
5649 S: BosStr = DefaultStr,
5650> {
5651 _state: PhantomData<fn() -> St>,
5652 _fields: (
5653 Option<Did<S>>,
5654 Option<Datetime>,
5655 Option<S>,
5656 Option<Datetime>,
5657 Option<i64>,
5658 Option<S>,
5659 Option<S>,
5660 Option<Did<S>>,
5661 Option<S>,
5662 Option<bool>,
5663 ),
5664 _type: PhantomData<fn() -> S>,
5665}
5666
5667impl EventGroupChatMemberJoined<DefaultStr> {
5668 pub fn new()
5670 -> EventGroupChatMemberJoinedBuilder<event_group_chat_member_joined_state::Empty, DefaultStr>
5671 {
5672 EventGroupChatMemberJoinedBuilder::new()
5673 }
5674}
5675
5676impl<S: BosStr> EventGroupChatMemberJoined<S> {
5677 pub fn builder()
5679 -> EventGroupChatMemberJoinedBuilder<event_group_chat_member_joined_state::Empty, S> {
5680 EventGroupChatMemberJoinedBuilder::builder()
5681 }
5682}
5683
5684impl EventGroupChatMemberJoinedBuilder<event_group_chat_member_joined_state::Empty, DefaultStr> {
5685 pub fn new() -> Self {
5687 EventGroupChatMemberJoinedBuilder {
5688 _state: PhantomData,
5689 _fields: (None, None, None, None, None, None, None, None, None, None),
5690 _type: PhantomData,
5691 }
5692 }
5693}
5694
5695impl<S: BosStr> EventGroupChatMemberJoinedBuilder<event_group_chat_member_joined_state::Empty, S> {
5696 pub fn builder() -> Self {
5698 EventGroupChatMemberJoinedBuilder {
5699 _state: PhantomData,
5700 _fields: (None, None, None, None, None, None, None, None, None, None),
5701 _type: PhantomData,
5702 }
5703 }
5704}
5705
5706impl<St, S: BosStr> EventGroupChatMemberJoinedBuilder<St, S>
5707where
5708 St: event_group_chat_member_joined_state::State,
5709 St::ActorDid: event_group_chat_member_joined_state::IsUnset,
5710{
5711 pub fn actor_did(
5713 mut self,
5714 value: impl Into<Did<S>>,
5715 ) -> EventGroupChatMemberJoinedBuilder<event_group_chat_member_joined_state::SetActorDid<St>, S>
5716 {
5717 self._fields.0 = Option::Some(value.into());
5718 EventGroupChatMemberJoinedBuilder {
5719 _state: PhantomData,
5720 _fields: self._fields,
5721 _type: PhantomData,
5722 }
5723 }
5724}
5725
5726impl<St, S: BosStr> EventGroupChatMemberJoinedBuilder<St, S>
5727where
5728 St: event_group_chat_member_joined_state::State,
5729 St::ConvoCreatedAt: event_group_chat_member_joined_state::IsUnset,
5730{
5731 pub fn convo_created_at(
5733 mut self,
5734 value: impl Into<Datetime>,
5735 ) -> EventGroupChatMemberJoinedBuilder<
5736 event_group_chat_member_joined_state::SetConvoCreatedAt<St>,
5737 S,
5738 > {
5739 self._fields.1 = Option::Some(value.into());
5740 EventGroupChatMemberJoinedBuilder {
5741 _state: PhantomData,
5742 _fields: self._fields,
5743 _type: PhantomData,
5744 }
5745 }
5746}
5747
5748impl<St, S: BosStr> EventGroupChatMemberJoinedBuilder<St, S>
5749where
5750 St: event_group_chat_member_joined_state::State,
5751 St::ConvoId: event_group_chat_member_joined_state::IsUnset,
5752{
5753 pub fn convo_id(
5755 mut self,
5756 value: impl Into<S>,
5757 ) -> EventGroupChatMemberJoinedBuilder<event_group_chat_member_joined_state::SetConvoId<St>, S>
5758 {
5759 self._fields.2 = Option::Some(value.into());
5760 EventGroupChatMemberJoinedBuilder {
5761 _state: PhantomData,
5762 _fields: self._fields,
5763 _type: PhantomData,
5764 }
5765 }
5766}
5767
5768impl<St, S: BosStr> EventGroupChatMemberJoinedBuilder<St, S>
5769where
5770 St: event_group_chat_member_joined_state::State,
5771 St::CreatedAt: event_group_chat_member_joined_state::IsUnset,
5772{
5773 pub fn created_at(
5775 mut self,
5776 value: impl Into<Datetime>,
5777 ) -> EventGroupChatMemberJoinedBuilder<event_group_chat_member_joined_state::SetCreatedAt<St>, S>
5778 {
5779 self._fields.3 = Option::Some(value.into());
5780 EventGroupChatMemberJoinedBuilder {
5781 _state: PhantomData,
5782 _fields: self._fields,
5783 _type: PhantomData,
5784 }
5785 }
5786}
5787
5788impl<St, S: BosStr> EventGroupChatMemberJoinedBuilder<St, S>
5789where
5790 St: event_group_chat_member_joined_state::State,
5791 St::GroupMemberCount: event_group_chat_member_joined_state::IsUnset,
5792{
5793 pub fn group_member_count(
5795 mut self,
5796 value: impl Into<i64>,
5797 ) -> EventGroupChatMemberJoinedBuilder<
5798 event_group_chat_member_joined_state::SetGroupMemberCount<St>,
5799 S,
5800 > {
5801 self._fields.4 = Option::Some(value.into());
5802 EventGroupChatMemberJoinedBuilder {
5803 _state: PhantomData,
5804 _fields: self._fields,
5805 _type: PhantomData,
5806 }
5807 }
5808}
5809
5810impl<St, S: BosStr> EventGroupChatMemberJoinedBuilder<St, S>
5811where
5812 St: event_group_chat_member_joined_state::State,
5813 St::GroupName: event_group_chat_member_joined_state::IsUnset,
5814{
5815 pub fn group_name(
5817 mut self,
5818 value: impl Into<S>,
5819 ) -> EventGroupChatMemberJoinedBuilder<event_group_chat_member_joined_state::SetGroupName<St>, S>
5820 {
5821 self._fields.5 = Option::Some(value.into());
5822 EventGroupChatMemberJoinedBuilder {
5823 _state: PhantomData,
5824 _fields: self._fields,
5825 _type: PhantomData,
5826 }
5827 }
5828}
5829
5830impl<St, S: BosStr> EventGroupChatMemberJoinedBuilder<St, S>
5831where
5832 St: event_group_chat_member_joined_state::State,
5833 St::JoinLinkCode: event_group_chat_member_joined_state::IsUnset,
5834{
5835 pub fn join_link_code(
5837 mut self,
5838 value: impl Into<S>,
5839 ) -> EventGroupChatMemberJoinedBuilder<
5840 event_group_chat_member_joined_state::SetJoinLinkCode<St>,
5841 S,
5842 > {
5843 self._fields.6 = Option::Some(value.into());
5844 EventGroupChatMemberJoinedBuilder {
5845 _state: PhantomData,
5846 _fields: self._fields,
5847 _type: PhantomData,
5848 }
5849 }
5850}
5851
5852impl<St, S: BosStr> EventGroupChatMemberJoinedBuilder<St, S>
5853where
5854 St: event_group_chat_member_joined_state::State,
5855 St::OwnerDid: event_group_chat_member_joined_state::IsUnset,
5856{
5857 pub fn owner_did(
5859 mut self,
5860 value: impl Into<Did<S>>,
5861 ) -> EventGroupChatMemberJoinedBuilder<event_group_chat_member_joined_state::SetOwnerDid<St>, S>
5862 {
5863 self._fields.7 = Option::Some(value.into());
5864 EventGroupChatMemberJoinedBuilder {
5865 _state: PhantomData,
5866 _fields: self._fields,
5867 _type: PhantomData,
5868 }
5869 }
5870}
5871
5872impl<St, S: BosStr> EventGroupChatMemberJoinedBuilder<St, S>
5873where
5874 St: event_group_chat_member_joined_state::State,
5875 St::Rev: event_group_chat_member_joined_state::IsUnset,
5876{
5877 pub fn rev(
5879 mut self,
5880 value: impl Into<S>,
5881 ) -> EventGroupChatMemberJoinedBuilder<event_group_chat_member_joined_state::SetRev<St>, S>
5882 {
5883 self._fields.8 = Option::Some(value.into());
5884 EventGroupChatMemberJoinedBuilder {
5885 _state: PhantomData,
5886 _fields: self._fields,
5887 _type: PhantomData,
5888 }
5889 }
5890}
5891
5892impl<St, S: BosStr> EventGroupChatMemberJoinedBuilder<St, S>
5893where
5894 St: event_group_chat_member_joined_state::State,
5895 St::SubjectFollowsOwner: event_group_chat_member_joined_state::IsUnset,
5896{
5897 pub fn subject_follows_owner(
5899 mut self,
5900 value: impl Into<bool>,
5901 ) -> EventGroupChatMemberJoinedBuilder<
5902 event_group_chat_member_joined_state::SetSubjectFollowsOwner<St>,
5903 S,
5904 > {
5905 self._fields.9 = Option::Some(value.into());
5906 EventGroupChatMemberJoinedBuilder {
5907 _state: PhantomData,
5908 _fields: self._fields,
5909 _type: PhantomData,
5910 }
5911 }
5912}
5913
5914impl<St, S: BosStr> EventGroupChatMemberJoinedBuilder<St, S>
5915where
5916 St: event_group_chat_member_joined_state::State,
5917 St::ActorDid: event_group_chat_member_joined_state::IsSet,
5918 St::ConvoCreatedAt: event_group_chat_member_joined_state::IsSet,
5919 St::ConvoId: event_group_chat_member_joined_state::IsSet,
5920 St::CreatedAt: event_group_chat_member_joined_state::IsSet,
5921 St::GroupMemberCount: event_group_chat_member_joined_state::IsSet,
5922 St::GroupName: event_group_chat_member_joined_state::IsSet,
5923 St::JoinLinkCode: event_group_chat_member_joined_state::IsSet,
5924 St::OwnerDid: event_group_chat_member_joined_state::IsSet,
5925 St::Rev: event_group_chat_member_joined_state::IsSet,
5926 St::SubjectFollowsOwner: event_group_chat_member_joined_state::IsSet,
5927{
5928 pub fn build(self) -> EventGroupChatMemberJoined<S> {
5930 EventGroupChatMemberJoined {
5931 actor_did: self._fields.0.unwrap(),
5932 convo_created_at: self._fields.1.unwrap(),
5933 convo_id: self._fields.2.unwrap(),
5934 created_at: self._fields.3.unwrap(),
5935 group_member_count: self._fields.4.unwrap(),
5936 group_name: self._fields.5.unwrap(),
5937 join_link_code: self._fields.6.unwrap(),
5938 owner_did: self._fields.7.unwrap(),
5939 rev: self._fields.8.unwrap(),
5940 subject_follows_owner: self._fields.9.unwrap(),
5941 extra_data: Default::default(),
5942 }
5943 }
5944 pub fn build_with_data(
5946 self,
5947 extra_data: BTreeMap<SmolStr, Data<S>>,
5948 ) -> EventGroupChatMemberJoined<S> {
5949 EventGroupChatMemberJoined {
5950 actor_did: self._fields.0.unwrap(),
5951 convo_created_at: self._fields.1.unwrap(),
5952 convo_id: self._fields.2.unwrap(),
5953 created_at: self._fields.3.unwrap(),
5954 group_member_count: self._fields.4.unwrap(),
5955 group_name: self._fields.5.unwrap(),
5956 join_link_code: self._fields.6.unwrap(),
5957 owner_did: self._fields.7.unwrap(),
5958 rev: self._fields.8.unwrap(),
5959 subject_follows_owner: self._fields.9.unwrap(),
5960 extra_data: Some(extra_data),
5961 }
5962 }
5963}
5964
5965pub mod event_group_chat_member_left_state {
5966
5967 pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
5968 #[allow(unused)]
5969 use ::core::marker::PhantomData;
5970 mod sealed {
5971 pub trait Sealed {}
5972 }
5973 pub trait State: sealed::Sealed {
5975 type ActorDid;
5976 type ConvoCreatedAt;
5977 type ConvoId;
5978 type CreatedAt;
5979 type GroupMemberCount;
5980 type GroupName;
5981 type LeaveMethod;
5982 type OwnerDid;
5983 type Rev;
5984 type SubjectDid;
5985 }
5986 pub struct Empty(());
5988 impl sealed::Sealed for Empty {}
5989 impl State for Empty {
5990 type ActorDid = Unset;
5991 type ConvoCreatedAt = Unset;
5992 type ConvoId = Unset;
5993 type CreatedAt = Unset;
5994 type GroupMemberCount = Unset;
5995 type GroupName = Unset;
5996 type LeaveMethod = Unset;
5997 type OwnerDid = Unset;
5998 type Rev = Unset;
5999 type SubjectDid = Unset;
6000 }
6001 pub struct SetActorDid<St: State = Empty>(PhantomData<fn() -> St>);
6003 impl<St: State> sealed::Sealed for SetActorDid<St> {}
6004 impl<St: State> State for SetActorDid<St> {
6005 type ActorDid = Set<members::actor_did>;
6006 type ConvoCreatedAt = St::ConvoCreatedAt;
6007 type ConvoId = St::ConvoId;
6008 type CreatedAt = St::CreatedAt;
6009 type GroupMemberCount = St::GroupMemberCount;
6010 type GroupName = St::GroupName;
6011 type LeaveMethod = St::LeaveMethod;
6012 type OwnerDid = St::OwnerDid;
6013 type Rev = St::Rev;
6014 type SubjectDid = St::SubjectDid;
6015 }
6016 pub struct SetConvoCreatedAt<St: State = Empty>(PhantomData<fn() -> St>);
6018 impl<St: State> sealed::Sealed for SetConvoCreatedAt<St> {}
6019 impl<St: State> State for SetConvoCreatedAt<St> {
6020 type ActorDid = St::ActorDid;
6021 type ConvoCreatedAt = Set<members::convo_created_at>;
6022 type ConvoId = St::ConvoId;
6023 type CreatedAt = St::CreatedAt;
6024 type GroupMemberCount = St::GroupMemberCount;
6025 type GroupName = St::GroupName;
6026 type LeaveMethod = St::LeaveMethod;
6027 type OwnerDid = St::OwnerDid;
6028 type Rev = St::Rev;
6029 type SubjectDid = St::SubjectDid;
6030 }
6031 pub struct SetConvoId<St: State = Empty>(PhantomData<fn() -> St>);
6033 impl<St: State> sealed::Sealed for SetConvoId<St> {}
6034 impl<St: State> State for SetConvoId<St> {
6035 type ActorDid = St::ActorDid;
6036 type ConvoCreatedAt = St::ConvoCreatedAt;
6037 type ConvoId = Set<members::convo_id>;
6038 type CreatedAt = St::CreatedAt;
6039 type GroupMemberCount = St::GroupMemberCount;
6040 type GroupName = St::GroupName;
6041 type LeaveMethod = St::LeaveMethod;
6042 type OwnerDid = St::OwnerDid;
6043 type Rev = St::Rev;
6044 type SubjectDid = St::SubjectDid;
6045 }
6046 pub struct SetCreatedAt<St: State = Empty>(PhantomData<fn() -> St>);
6048 impl<St: State> sealed::Sealed for SetCreatedAt<St> {}
6049 impl<St: State> State for SetCreatedAt<St> {
6050 type ActorDid = St::ActorDid;
6051 type ConvoCreatedAt = St::ConvoCreatedAt;
6052 type ConvoId = St::ConvoId;
6053 type CreatedAt = Set<members::created_at>;
6054 type GroupMemberCount = St::GroupMemberCount;
6055 type GroupName = St::GroupName;
6056 type LeaveMethod = St::LeaveMethod;
6057 type OwnerDid = St::OwnerDid;
6058 type Rev = St::Rev;
6059 type SubjectDid = St::SubjectDid;
6060 }
6061 pub struct SetGroupMemberCount<St: State = Empty>(PhantomData<fn() -> St>);
6063 impl<St: State> sealed::Sealed for SetGroupMemberCount<St> {}
6064 impl<St: State> State for SetGroupMemberCount<St> {
6065 type ActorDid = St::ActorDid;
6066 type ConvoCreatedAt = St::ConvoCreatedAt;
6067 type ConvoId = St::ConvoId;
6068 type CreatedAt = St::CreatedAt;
6069 type GroupMemberCount = Set<members::group_member_count>;
6070 type GroupName = St::GroupName;
6071 type LeaveMethod = St::LeaveMethod;
6072 type OwnerDid = St::OwnerDid;
6073 type Rev = St::Rev;
6074 type SubjectDid = St::SubjectDid;
6075 }
6076 pub struct SetGroupName<St: State = Empty>(PhantomData<fn() -> St>);
6078 impl<St: State> sealed::Sealed for SetGroupName<St> {}
6079 impl<St: State> State for SetGroupName<St> {
6080 type ActorDid = St::ActorDid;
6081 type ConvoCreatedAt = St::ConvoCreatedAt;
6082 type ConvoId = St::ConvoId;
6083 type CreatedAt = St::CreatedAt;
6084 type GroupMemberCount = St::GroupMemberCount;
6085 type GroupName = Set<members::group_name>;
6086 type LeaveMethod = St::LeaveMethod;
6087 type OwnerDid = St::OwnerDid;
6088 type Rev = St::Rev;
6089 type SubjectDid = St::SubjectDid;
6090 }
6091 pub struct SetLeaveMethod<St: State = Empty>(PhantomData<fn() -> St>);
6093 impl<St: State> sealed::Sealed for SetLeaveMethod<St> {}
6094 impl<St: State> State for SetLeaveMethod<St> {
6095 type ActorDid = St::ActorDid;
6096 type ConvoCreatedAt = St::ConvoCreatedAt;
6097 type ConvoId = St::ConvoId;
6098 type CreatedAt = St::CreatedAt;
6099 type GroupMemberCount = St::GroupMemberCount;
6100 type GroupName = St::GroupName;
6101 type LeaveMethod = Set<members::leave_method>;
6102 type OwnerDid = St::OwnerDid;
6103 type Rev = St::Rev;
6104 type SubjectDid = St::SubjectDid;
6105 }
6106 pub struct SetOwnerDid<St: State = Empty>(PhantomData<fn() -> St>);
6108 impl<St: State> sealed::Sealed for SetOwnerDid<St> {}
6109 impl<St: State> State for SetOwnerDid<St> {
6110 type ActorDid = St::ActorDid;
6111 type ConvoCreatedAt = St::ConvoCreatedAt;
6112 type ConvoId = St::ConvoId;
6113 type CreatedAt = St::CreatedAt;
6114 type GroupMemberCount = St::GroupMemberCount;
6115 type GroupName = St::GroupName;
6116 type LeaveMethod = St::LeaveMethod;
6117 type OwnerDid = Set<members::owner_did>;
6118 type Rev = St::Rev;
6119 type SubjectDid = St::SubjectDid;
6120 }
6121 pub struct SetRev<St: State = Empty>(PhantomData<fn() -> St>);
6123 impl<St: State> sealed::Sealed for SetRev<St> {}
6124 impl<St: State> State for SetRev<St> {
6125 type ActorDid = St::ActorDid;
6126 type ConvoCreatedAt = St::ConvoCreatedAt;
6127 type ConvoId = St::ConvoId;
6128 type CreatedAt = St::CreatedAt;
6129 type GroupMemberCount = St::GroupMemberCount;
6130 type GroupName = St::GroupName;
6131 type LeaveMethod = St::LeaveMethod;
6132 type OwnerDid = St::OwnerDid;
6133 type Rev = Set<members::rev>;
6134 type SubjectDid = St::SubjectDid;
6135 }
6136 pub struct SetSubjectDid<St: State = Empty>(PhantomData<fn() -> St>);
6138 impl<St: State> sealed::Sealed for SetSubjectDid<St> {}
6139 impl<St: State> State for SetSubjectDid<St> {
6140 type ActorDid = St::ActorDid;
6141 type ConvoCreatedAt = St::ConvoCreatedAt;
6142 type ConvoId = St::ConvoId;
6143 type CreatedAt = St::CreatedAt;
6144 type GroupMemberCount = St::GroupMemberCount;
6145 type GroupName = St::GroupName;
6146 type LeaveMethod = St::LeaveMethod;
6147 type OwnerDid = St::OwnerDid;
6148 type Rev = St::Rev;
6149 type SubjectDid = Set<members::subject_did>;
6150 }
6151 #[allow(non_camel_case_types)]
6153 pub mod members {
6154 pub struct actor_did(());
6156 pub struct convo_created_at(());
6158 pub struct convo_id(());
6160 pub struct created_at(());
6162 pub struct group_member_count(());
6164 pub struct group_name(());
6166 pub struct leave_method(());
6168 pub struct owner_did(());
6170 pub struct rev(());
6172 pub struct subject_did(());
6174 }
6175}
6176
6177pub struct EventGroupChatMemberLeftBuilder<
6179 St: event_group_chat_member_left_state::State,
6180 S: BosStr = DefaultStr,
6181> {
6182 _state: PhantomData<fn() -> St>,
6183 _fields: (
6184 Option<Did<S>>,
6185 Option<Datetime>,
6186 Option<S>,
6187 Option<Datetime>,
6188 Option<i64>,
6189 Option<S>,
6190 Option<EventGroupChatMemberLeftLeaveMethod<S>>,
6191 Option<Did<S>>,
6192 Option<S>,
6193 Option<Did<S>>,
6194 ),
6195 _type: PhantomData<fn() -> S>,
6196}
6197
6198impl EventGroupChatMemberLeft<DefaultStr> {
6199 pub fn new()
6201 -> EventGroupChatMemberLeftBuilder<event_group_chat_member_left_state::Empty, DefaultStr> {
6202 EventGroupChatMemberLeftBuilder::new()
6203 }
6204}
6205
6206impl<S: BosStr> EventGroupChatMemberLeft<S> {
6207 pub fn builder() -> EventGroupChatMemberLeftBuilder<event_group_chat_member_left_state::Empty, S>
6209 {
6210 EventGroupChatMemberLeftBuilder::builder()
6211 }
6212}
6213
6214impl EventGroupChatMemberLeftBuilder<event_group_chat_member_left_state::Empty, DefaultStr> {
6215 pub fn new() -> Self {
6217 EventGroupChatMemberLeftBuilder {
6218 _state: PhantomData,
6219 _fields: (None, None, None, None, None, None, None, None, None, None),
6220 _type: PhantomData,
6221 }
6222 }
6223}
6224
6225impl<S: BosStr> EventGroupChatMemberLeftBuilder<event_group_chat_member_left_state::Empty, S> {
6226 pub fn builder() -> Self {
6228 EventGroupChatMemberLeftBuilder {
6229 _state: PhantomData,
6230 _fields: (None, None, None, None, None, None, None, None, None, None),
6231 _type: PhantomData,
6232 }
6233 }
6234}
6235
6236impl<St, S: BosStr> EventGroupChatMemberLeftBuilder<St, S>
6237where
6238 St: event_group_chat_member_left_state::State,
6239 St::ActorDid: event_group_chat_member_left_state::IsUnset,
6240{
6241 pub fn actor_did(
6243 mut self,
6244 value: impl Into<Did<S>>,
6245 ) -> EventGroupChatMemberLeftBuilder<event_group_chat_member_left_state::SetActorDid<St>, S>
6246 {
6247 self._fields.0 = Option::Some(value.into());
6248 EventGroupChatMemberLeftBuilder {
6249 _state: PhantomData,
6250 _fields: self._fields,
6251 _type: PhantomData,
6252 }
6253 }
6254}
6255
6256impl<St, S: BosStr> EventGroupChatMemberLeftBuilder<St, S>
6257where
6258 St: event_group_chat_member_left_state::State,
6259 St::ConvoCreatedAt: event_group_chat_member_left_state::IsUnset,
6260{
6261 pub fn convo_created_at(
6263 mut self,
6264 value: impl Into<Datetime>,
6265 ) -> EventGroupChatMemberLeftBuilder<event_group_chat_member_left_state::SetConvoCreatedAt<St>, S>
6266 {
6267 self._fields.1 = Option::Some(value.into());
6268 EventGroupChatMemberLeftBuilder {
6269 _state: PhantomData,
6270 _fields: self._fields,
6271 _type: PhantomData,
6272 }
6273 }
6274}
6275
6276impl<St, S: BosStr> EventGroupChatMemberLeftBuilder<St, S>
6277where
6278 St: event_group_chat_member_left_state::State,
6279 St::ConvoId: event_group_chat_member_left_state::IsUnset,
6280{
6281 pub fn convo_id(
6283 mut self,
6284 value: impl Into<S>,
6285 ) -> EventGroupChatMemberLeftBuilder<event_group_chat_member_left_state::SetConvoId<St>, S>
6286 {
6287 self._fields.2 = Option::Some(value.into());
6288 EventGroupChatMemberLeftBuilder {
6289 _state: PhantomData,
6290 _fields: self._fields,
6291 _type: PhantomData,
6292 }
6293 }
6294}
6295
6296impl<St, S: BosStr> EventGroupChatMemberLeftBuilder<St, S>
6297where
6298 St: event_group_chat_member_left_state::State,
6299 St::CreatedAt: event_group_chat_member_left_state::IsUnset,
6300{
6301 pub fn created_at(
6303 mut self,
6304 value: impl Into<Datetime>,
6305 ) -> EventGroupChatMemberLeftBuilder<event_group_chat_member_left_state::SetCreatedAt<St>, S>
6306 {
6307 self._fields.3 = Option::Some(value.into());
6308 EventGroupChatMemberLeftBuilder {
6309 _state: PhantomData,
6310 _fields: self._fields,
6311 _type: PhantomData,
6312 }
6313 }
6314}
6315
6316impl<St, S: BosStr> EventGroupChatMemberLeftBuilder<St, S>
6317where
6318 St: event_group_chat_member_left_state::State,
6319 St::GroupMemberCount: event_group_chat_member_left_state::IsUnset,
6320{
6321 pub fn group_member_count(
6323 mut self,
6324 value: impl Into<i64>,
6325 ) -> EventGroupChatMemberLeftBuilder<
6326 event_group_chat_member_left_state::SetGroupMemberCount<St>,
6327 S,
6328 > {
6329 self._fields.4 = Option::Some(value.into());
6330 EventGroupChatMemberLeftBuilder {
6331 _state: PhantomData,
6332 _fields: self._fields,
6333 _type: PhantomData,
6334 }
6335 }
6336}
6337
6338impl<St, S: BosStr> EventGroupChatMemberLeftBuilder<St, S>
6339where
6340 St: event_group_chat_member_left_state::State,
6341 St::GroupName: event_group_chat_member_left_state::IsUnset,
6342{
6343 pub fn group_name(
6345 mut self,
6346 value: impl Into<S>,
6347 ) -> EventGroupChatMemberLeftBuilder<event_group_chat_member_left_state::SetGroupName<St>, S>
6348 {
6349 self._fields.5 = Option::Some(value.into());
6350 EventGroupChatMemberLeftBuilder {
6351 _state: PhantomData,
6352 _fields: self._fields,
6353 _type: PhantomData,
6354 }
6355 }
6356}
6357
6358impl<St, S: BosStr> EventGroupChatMemberLeftBuilder<St, S>
6359where
6360 St: event_group_chat_member_left_state::State,
6361 St::LeaveMethod: event_group_chat_member_left_state::IsUnset,
6362{
6363 pub fn leave_method(
6365 mut self,
6366 value: impl Into<EventGroupChatMemberLeftLeaveMethod<S>>,
6367 ) -> EventGroupChatMemberLeftBuilder<event_group_chat_member_left_state::SetLeaveMethod<St>, S>
6368 {
6369 self._fields.6 = Option::Some(value.into());
6370 EventGroupChatMemberLeftBuilder {
6371 _state: PhantomData,
6372 _fields: self._fields,
6373 _type: PhantomData,
6374 }
6375 }
6376}
6377
6378impl<St, S: BosStr> EventGroupChatMemberLeftBuilder<St, S>
6379where
6380 St: event_group_chat_member_left_state::State,
6381 St::OwnerDid: event_group_chat_member_left_state::IsUnset,
6382{
6383 pub fn owner_did(
6385 mut self,
6386 value: impl Into<Did<S>>,
6387 ) -> EventGroupChatMemberLeftBuilder<event_group_chat_member_left_state::SetOwnerDid<St>, S>
6388 {
6389 self._fields.7 = Option::Some(value.into());
6390 EventGroupChatMemberLeftBuilder {
6391 _state: PhantomData,
6392 _fields: self._fields,
6393 _type: PhantomData,
6394 }
6395 }
6396}
6397
6398impl<St, S: BosStr> EventGroupChatMemberLeftBuilder<St, S>
6399where
6400 St: event_group_chat_member_left_state::State,
6401 St::Rev: event_group_chat_member_left_state::IsUnset,
6402{
6403 pub fn rev(
6405 mut self,
6406 value: impl Into<S>,
6407 ) -> EventGroupChatMemberLeftBuilder<event_group_chat_member_left_state::SetRev<St>, S> {
6408 self._fields.8 = Option::Some(value.into());
6409 EventGroupChatMemberLeftBuilder {
6410 _state: PhantomData,
6411 _fields: self._fields,
6412 _type: PhantomData,
6413 }
6414 }
6415}
6416
6417impl<St, S: BosStr> EventGroupChatMemberLeftBuilder<St, S>
6418where
6419 St: event_group_chat_member_left_state::State,
6420 St::SubjectDid: event_group_chat_member_left_state::IsUnset,
6421{
6422 pub fn subject_did(
6424 mut self,
6425 value: impl Into<Did<S>>,
6426 ) -> EventGroupChatMemberLeftBuilder<event_group_chat_member_left_state::SetSubjectDid<St>, S>
6427 {
6428 self._fields.9 = Option::Some(value.into());
6429 EventGroupChatMemberLeftBuilder {
6430 _state: PhantomData,
6431 _fields: self._fields,
6432 _type: PhantomData,
6433 }
6434 }
6435}
6436
6437impl<St, S: BosStr> EventGroupChatMemberLeftBuilder<St, S>
6438where
6439 St: event_group_chat_member_left_state::State,
6440 St::ActorDid: event_group_chat_member_left_state::IsSet,
6441 St::ConvoCreatedAt: event_group_chat_member_left_state::IsSet,
6442 St::ConvoId: event_group_chat_member_left_state::IsSet,
6443 St::CreatedAt: event_group_chat_member_left_state::IsSet,
6444 St::GroupMemberCount: event_group_chat_member_left_state::IsSet,
6445 St::GroupName: event_group_chat_member_left_state::IsSet,
6446 St::LeaveMethod: event_group_chat_member_left_state::IsSet,
6447 St::OwnerDid: event_group_chat_member_left_state::IsSet,
6448 St::Rev: event_group_chat_member_left_state::IsSet,
6449 St::SubjectDid: event_group_chat_member_left_state::IsSet,
6450{
6451 pub fn build(self) -> EventGroupChatMemberLeft<S> {
6453 EventGroupChatMemberLeft {
6454 actor_did: self._fields.0.unwrap(),
6455 convo_created_at: self._fields.1.unwrap(),
6456 convo_id: self._fields.2.unwrap(),
6457 created_at: self._fields.3.unwrap(),
6458 group_member_count: self._fields.4.unwrap(),
6459 group_name: self._fields.5.unwrap(),
6460 leave_method: self._fields.6.unwrap(),
6461 owner_did: self._fields.7.unwrap(),
6462 rev: self._fields.8.unwrap(),
6463 subject_did: self._fields.9.unwrap(),
6464 extra_data: Default::default(),
6465 }
6466 }
6467 pub fn build_with_data(
6469 self,
6470 extra_data: BTreeMap<SmolStr, Data<S>>,
6471 ) -> EventGroupChatMemberLeft<S> {
6472 EventGroupChatMemberLeft {
6473 actor_did: self._fields.0.unwrap(),
6474 convo_created_at: self._fields.1.unwrap(),
6475 convo_id: self._fields.2.unwrap(),
6476 created_at: self._fields.3.unwrap(),
6477 group_member_count: self._fields.4.unwrap(),
6478 group_name: self._fields.5.unwrap(),
6479 leave_method: self._fields.6.unwrap(),
6480 owner_did: self._fields.7.unwrap(),
6481 rev: self._fields.8.unwrap(),
6482 subject_did: self._fields.9.unwrap(),
6483 extra_data: Some(extra_data),
6484 }
6485 }
6486}
6487
6488pub mod event_group_chat_updated_state {
6489
6490 pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
6491 #[allow(unused)]
6492 use ::core::marker::PhantomData;
6493 mod sealed {
6494 pub trait Sealed {}
6495 }
6496 pub trait State: sealed::Sealed {
6498 type ActorDid;
6499 type ConvoCreatedAt;
6500 type ConvoId;
6501 type CreatedAt;
6502 type GroupMemberCount;
6503 type GroupName;
6504 type OwnerDid;
6505 type Rev;
6506 type UpdateType;
6507 }
6508 pub struct Empty(());
6510 impl sealed::Sealed for Empty {}
6511 impl State for Empty {
6512 type ActorDid = Unset;
6513 type ConvoCreatedAt = Unset;
6514 type ConvoId = Unset;
6515 type CreatedAt = Unset;
6516 type GroupMemberCount = Unset;
6517 type GroupName = Unset;
6518 type OwnerDid = Unset;
6519 type Rev = Unset;
6520 type UpdateType = Unset;
6521 }
6522 pub struct SetActorDid<St: State = Empty>(PhantomData<fn() -> St>);
6524 impl<St: State> sealed::Sealed for SetActorDid<St> {}
6525 impl<St: State> State for SetActorDid<St> {
6526 type ActorDid = Set<members::actor_did>;
6527 type ConvoCreatedAt = St::ConvoCreatedAt;
6528 type ConvoId = St::ConvoId;
6529 type CreatedAt = St::CreatedAt;
6530 type GroupMemberCount = St::GroupMemberCount;
6531 type GroupName = St::GroupName;
6532 type OwnerDid = St::OwnerDid;
6533 type Rev = St::Rev;
6534 type UpdateType = St::UpdateType;
6535 }
6536 pub struct SetConvoCreatedAt<St: State = Empty>(PhantomData<fn() -> St>);
6538 impl<St: State> sealed::Sealed for SetConvoCreatedAt<St> {}
6539 impl<St: State> State for SetConvoCreatedAt<St> {
6540 type ActorDid = St::ActorDid;
6541 type ConvoCreatedAt = Set<members::convo_created_at>;
6542 type ConvoId = St::ConvoId;
6543 type CreatedAt = St::CreatedAt;
6544 type GroupMemberCount = St::GroupMemberCount;
6545 type GroupName = St::GroupName;
6546 type OwnerDid = St::OwnerDid;
6547 type Rev = St::Rev;
6548 type UpdateType = St::UpdateType;
6549 }
6550 pub struct SetConvoId<St: State = Empty>(PhantomData<fn() -> St>);
6552 impl<St: State> sealed::Sealed for SetConvoId<St> {}
6553 impl<St: State> State for SetConvoId<St> {
6554 type ActorDid = St::ActorDid;
6555 type ConvoCreatedAt = St::ConvoCreatedAt;
6556 type ConvoId = Set<members::convo_id>;
6557 type CreatedAt = St::CreatedAt;
6558 type GroupMemberCount = St::GroupMemberCount;
6559 type GroupName = St::GroupName;
6560 type OwnerDid = St::OwnerDid;
6561 type Rev = St::Rev;
6562 type UpdateType = St::UpdateType;
6563 }
6564 pub struct SetCreatedAt<St: State = Empty>(PhantomData<fn() -> St>);
6566 impl<St: State> sealed::Sealed for SetCreatedAt<St> {}
6567 impl<St: State> State for SetCreatedAt<St> {
6568 type ActorDid = St::ActorDid;
6569 type ConvoCreatedAt = St::ConvoCreatedAt;
6570 type ConvoId = St::ConvoId;
6571 type CreatedAt = Set<members::created_at>;
6572 type GroupMemberCount = St::GroupMemberCount;
6573 type GroupName = St::GroupName;
6574 type OwnerDid = St::OwnerDid;
6575 type Rev = St::Rev;
6576 type UpdateType = St::UpdateType;
6577 }
6578 pub struct SetGroupMemberCount<St: State = Empty>(PhantomData<fn() -> St>);
6580 impl<St: State> sealed::Sealed for SetGroupMemberCount<St> {}
6581 impl<St: State> State for SetGroupMemberCount<St> {
6582 type ActorDid = St::ActorDid;
6583 type ConvoCreatedAt = St::ConvoCreatedAt;
6584 type ConvoId = St::ConvoId;
6585 type CreatedAt = St::CreatedAt;
6586 type GroupMemberCount = Set<members::group_member_count>;
6587 type GroupName = St::GroupName;
6588 type OwnerDid = St::OwnerDid;
6589 type Rev = St::Rev;
6590 type UpdateType = St::UpdateType;
6591 }
6592 pub struct SetGroupName<St: State = Empty>(PhantomData<fn() -> St>);
6594 impl<St: State> sealed::Sealed for SetGroupName<St> {}
6595 impl<St: State> State for SetGroupName<St> {
6596 type ActorDid = St::ActorDid;
6597 type ConvoCreatedAt = St::ConvoCreatedAt;
6598 type ConvoId = St::ConvoId;
6599 type CreatedAt = St::CreatedAt;
6600 type GroupMemberCount = St::GroupMemberCount;
6601 type GroupName = Set<members::group_name>;
6602 type OwnerDid = St::OwnerDid;
6603 type Rev = St::Rev;
6604 type UpdateType = St::UpdateType;
6605 }
6606 pub struct SetOwnerDid<St: State = Empty>(PhantomData<fn() -> St>);
6608 impl<St: State> sealed::Sealed for SetOwnerDid<St> {}
6609 impl<St: State> State for SetOwnerDid<St> {
6610 type ActorDid = St::ActorDid;
6611 type ConvoCreatedAt = St::ConvoCreatedAt;
6612 type ConvoId = St::ConvoId;
6613 type CreatedAt = St::CreatedAt;
6614 type GroupMemberCount = St::GroupMemberCount;
6615 type GroupName = St::GroupName;
6616 type OwnerDid = Set<members::owner_did>;
6617 type Rev = St::Rev;
6618 type UpdateType = St::UpdateType;
6619 }
6620 pub struct SetRev<St: State = Empty>(PhantomData<fn() -> St>);
6622 impl<St: State> sealed::Sealed for SetRev<St> {}
6623 impl<St: State> State for SetRev<St> {
6624 type ActorDid = St::ActorDid;
6625 type ConvoCreatedAt = St::ConvoCreatedAt;
6626 type ConvoId = St::ConvoId;
6627 type CreatedAt = St::CreatedAt;
6628 type GroupMemberCount = St::GroupMemberCount;
6629 type GroupName = St::GroupName;
6630 type OwnerDid = St::OwnerDid;
6631 type Rev = Set<members::rev>;
6632 type UpdateType = St::UpdateType;
6633 }
6634 pub struct SetUpdateType<St: State = Empty>(PhantomData<fn() -> St>);
6636 impl<St: State> sealed::Sealed for SetUpdateType<St> {}
6637 impl<St: State> State for SetUpdateType<St> {
6638 type ActorDid = St::ActorDid;
6639 type ConvoCreatedAt = St::ConvoCreatedAt;
6640 type ConvoId = St::ConvoId;
6641 type CreatedAt = St::CreatedAt;
6642 type GroupMemberCount = St::GroupMemberCount;
6643 type GroupName = St::GroupName;
6644 type OwnerDid = St::OwnerDid;
6645 type Rev = St::Rev;
6646 type UpdateType = Set<members::update_type>;
6647 }
6648 #[allow(non_camel_case_types)]
6650 pub mod members {
6651 pub struct actor_did(());
6653 pub struct convo_created_at(());
6655 pub struct convo_id(());
6657 pub struct created_at(());
6659 pub struct group_member_count(());
6661 pub struct group_name(());
6663 pub struct owner_did(());
6665 pub struct rev(());
6667 pub struct update_type(());
6669 }
6670}
6671
6672pub struct EventGroupChatUpdatedBuilder<
6674 St: event_group_chat_updated_state::State,
6675 S: BosStr = DefaultStr,
6676> {
6677 _state: PhantomData<fn() -> St>,
6678 _fields: (
6679 Option<Did<S>>,
6680 Option<Datetime>,
6681 Option<S>,
6682 Option<Datetime>,
6683 Option<i64>,
6684 Option<S>,
6685 Option<S>,
6686 Option<bool>,
6687 Option<bool>,
6688 Option<EventGroupChatUpdatedLockReason<S>>,
6689 Option<S>,
6690 Option<S>,
6691 Option<Did<S>>,
6692 Option<S>,
6693 Option<EventGroupChatUpdatedUpdateType<S>>,
6694 ),
6695 _type: PhantomData<fn() -> S>,
6696}
6697
6698impl EventGroupChatUpdated<DefaultStr> {
6699 pub fn new() -> EventGroupChatUpdatedBuilder<event_group_chat_updated_state::Empty, DefaultStr>
6701 {
6702 EventGroupChatUpdatedBuilder::new()
6703 }
6704}
6705
6706impl<S: BosStr> EventGroupChatUpdated<S> {
6707 pub fn builder() -> EventGroupChatUpdatedBuilder<event_group_chat_updated_state::Empty, S> {
6709 EventGroupChatUpdatedBuilder::builder()
6710 }
6711}
6712
6713impl EventGroupChatUpdatedBuilder<event_group_chat_updated_state::Empty, DefaultStr> {
6714 pub fn new() -> Self {
6716 EventGroupChatUpdatedBuilder {
6717 _state: PhantomData,
6718 _fields: (
6719 None, None, None, None, None, None, None, None, None, None, None, None, None, None,
6720 None,
6721 ),
6722 _type: PhantomData,
6723 }
6724 }
6725}
6726
6727impl<S: BosStr> EventGroupChatUpdatedBuilder<event_group_chat_updated_state::Empty, S> {
6728 pub fn builder() -> Self {
6730 EventGroupChatUpdatedBuilder {
6731 _state: PhantomData,
6732 _fields: (
6733 None, None, None, None, None, None, None, None, None, None, None, None, None, None,
6734 None,
6735 ),
6736 _type: PhantomData,
6737 }
6738 }
6739}
6740
6741impl<St, S: BosStr> EventGroupChatUpdatedBuilder<St, S>
6742where
6743 St: event_group_chat_updated_state::State,
6744 St::ActorDid: event_group_chat_updated_state::IsUnset,
6745{
6746 pub fn actor_did(
6748 mut self,
6749 value: impl Into<Did<S>>,
6750 ) -> EventGroupChatUpdatedBuilder<event_group_chat_updated_state::SetActorDid<St>, S> {
6751 self._fields.0 = Option::Some(value.into());
6752 EventGroupChatUpdatedBuilder {
6753 _state: PhantomData,
6754 _fields: self._fields,
6755 _type: PhantomData,
6756 }
6757 }
6758}
6759
6760impl<St, S: BosStr> EventGroupChatUpdatedBuilder<St, S>
6761where
6762 St: event_group_chat_updated_state::State,
6763 St::ConvoCreatedAt: event_group_chat_updated_state::IsUnset,
6764{
6765 pub fn convo_created_at(
6767 mut self,
6768 value: impl Into<Datetime>,
6769 ) -> EventGroupChatUpdatedBuilder<event_group_chat_updated_state::SetConvoCreatedAt<St>, S>
6770 {
6771 self._fields.1 = Option::Some(value.into());
6772 EventGroupChatUpdatedBuilder {
6773 _state: PhantomData,
6774 _fields: self._fields,
6775 _type: PhantomData,
6776 }
6777 }
6778}
6779
6780impl<St, S: BosStr> EventGroupChatUpdatedBuilder<St, S>
6781where
6782 St: event_group_chat_updated_state::State,
6783 St::ConvoId: event_group_chat_updated_state::IsUnset,
6784{
6785 pub fn convo_id(
6787 mut self,
6788 value: impl Into<S>,
6789 ) -> EventGroupChatUpdatedBuilder<event_group_chat_updated_state::SetConvoId<St>, S> {
6790 self._fields.2 = Option::Some(value.into());
6791 EventGroupChatUpdatedBuilder {
6792 _state: PhantomData,
6793 _fields: self._fields,
6794 _type: PhantomData,
6795 }
6796 }
6797}
6798
6799impl<St, S: BosStr> EventGroupChatUpdatedBuilder<St, S>
6800where
6801 St: event_group_chat_updated_state::State,
6802 St::CreatedAt: event_group_chat_updated_state::IsUnset,
6803{
6804 pub fn created_at(
6806 mut self,
6807 value: impl Into<Datetime>,
6808 ) -> EventGroupChatUpdatedBuilder<event_group_chat_updated_state::SetCreatedAt<St>, S> {
6809 self._fields.3 = Option::Some(value.into());
6810 EventGroupChatUpdatedBuilder {
6811 _state: PhantomData,
6812 _fields: self._fields,
6813 _type: PhantomData,
6814 }
6815 }
6816}
6817
6818impl<St, S: BosStr> EventGroupChatUpdatedBuilder<St, S>
6819where
6820 St: event_group_chat_updated_state::State,
6821 St::GroupMemberCount: event_group_chat_updated_state::IsUnset,
6822{
6823 pub fn group_member_count(
6825 mut self,
6826 value: impl Into<i64>,
6827 ) -> EventGroupChatUpdatedBuilder<event_group_chat_updated_state::SetGroupMemberCount<St>, S>
6828 {
6829 self._fields.4 = Option::Some(value.into());
6830 EventGroupChatUpdatedBuilder {
6831 _state: PhantomData,
6832 _fields: self._fields,
6833 _type: PhantomData,
6834 }
6835 }
6836}
6837
6838impl<St, S: BosStr> EventGroupChatUpdatedBuilder<St, S>
6839where
6840 St: event_group_chat_updated_state::State,
6841 St::GroupName: event_group_chat_updated_state::IsUnset,
6842{
6843 pub fn group_name(
6845 mut self,
6846 value: impl Into<S>,
6847 ) -> EventGroupChatUpdatedBuilder<event_group_chat_updated_state::SetGroupName<St>, S> {
6848 self._fields.5 = Option::Some(value.into());
6849 EventGroupChatUpdatedBuilder {
6850 _state: PhantomData,
6851 _fields: self._fields,
6852 _type: PhantomData,
6853 }
6854 }
6855}
6856
6857impl<St: event_group_chat_updated_state::State, S: BosStr> EventGroupChatUpdatedBuilder<St, S> {
6858 pub fn join_link_code(mut self, value: impl Into<Option<S>>) -> Self {
6860 self._fields.6 = value.into();
6861 self
6862 }
6863 pub fn maybe_join_link_code(mut self, value: Option<S>) -> Self {
6865 self._fields.6 = value;
6866 self
6867 }
6868}
6869
6870impl<St: event_group_chat_updated_state::State, S: BosStr> EventGroupChatUpdatedBuilder<St, S> {
6871 pub fn join_link_followers_only(mut self, value: impl Into<Option<bool>>) -> Self {
6873 self._fields.7 = value.into();
6874 self
6875 }
6876 pub fn maybe_join_link_followers_only(mut self, value: Option<bool>) -> Self {
6878 self._fields.7 = value;
6879 self
6880 }
6881}
6882
6883impl<St: event_group_chat_updated_state::State, S: BosStr> EventGroupChatUpdatedBuilder<St, S> {
6884 pub fn join_link_requires_approval(mut self, value: impl Into<Option<bool>>) -> Self {
6886 self._fields.8 = value.into();
6887 self
6888 }
6889 pub fn maybe_join_link_requires_approval(mut self, value: Option<bool>) -> Self {
6891 self._fields.8 = value;
6892 self
6893 }
6894}
6895
6896impl<St: event_group_chat_updated_state::State, S: BosStr> EventGroupChatUpdatedBuilder<St, S> {
6897 pub fn lock_reason(
6899 mut self,
6900 value: impl Into<Option<EventGroupChatUpdatedLockReason<S>>>,
6901 ) -> Self {
6902 self._fields.9 = value.into();
6903 self
6904 }
6905 pub fn maybe_lock_reason(mut self, value: Option<EventGroupChatUpdatedLockReason<S>>) -> Self {
6907 self._fields.9 = value;
6908 self
6909 }
6910}
6911
6912impl<St: event_group_chat_updated_state::State, S: BosStr> EventGroupChatUpdatedBuilder<St, S> {
6913 pub fn new_name(mut self, value: impl Into<Option<S>>) -> Self {
6915 self._fields.10 = value.into();
6916 self
6917 }
6918 pub fn maybe_new_name(mut self, value: Option<S>) -> Self {
6920 self._fields.10 = value;
6921 self
6922 }
6923}
6924
6925impl<St: event_group_chat_updated_state::State, S: BosStr> EventGroupChatUpdatedBuilder<St, S> {
6926 pub fn old_name(mut self, value: impl Into<Option<S>>) -> Self {
6928 self._fields.11 = value.into();
6929 self
6930 }
6931 pub fn maybe_old_name(mut self, value: Option<S>) -> Self {
6933 self._fields.11 = value;
6934 self
6935 }
6936}
6937
6938impl<St, S: BosStr> EventGroupChatUpdatedBuilder<St, S>
6939where
6940 St: event_group_chat_updated_state::State,
6941 St::OwnerDid: event_group_chat_updated_state::IsUnset,
6942{
6943 pub fn owner_did(
6945 mut self,
6946 value: impl Into<Did<S>>,
6947 ) -> EventGroupChatUpdatedBuilder<event_group_chat_updated_state::SetOwnerDid<St>, S> {
6948 self._fields.12 = Option::Some(value.into());
6949 EventGroupChatUpdatedBuilder {
6950 _state: PhantomData,
6951 _fields: self._fields,
6952 _type: PhantomData,
6953 }
6954 }
6955}
6956
6957impl<St, S: BosStr> EventGroupChatUpdatedBuilder<St, S>
6958where
6959 St: event_group_chat_updated_state::State,
6960 St::Rev: event_group_chat_updated_state::IsUnset,
6961{
6962 pub fn rev(
6964 mut self,
6965 value: impl Into<S>,
6966 ) -> EventGroupChatUpdatedBuilder<event_group_chat_updated_state::SetRev<St>, S> {
6967 self._fields.13 = Option::Some(value.into());
6968 EventGroupChatUpdatedBuilder {
6969 _state: PhantomData,
6970 _fields: self._fields,
6971 _type: PhantomData,
6972 }
6973 }
6974}
6975
6976impl<St, S: BosStr> EventGroupChatUpdatedBuilder<St, S>
6977where
6978 St: event_group_chat_updated_state::State,
6979 St::UpdateType: event_group_chat_updated_state::IsUnset,
6980{
6981 pub fn update_type(
6983 mut self,
6984 value: impl Into<EventGroupChatUpdatedUpdateType<S>>,
6985 ) -> EventGroupChatUpdatedBuilder<event_group_chat_updated_state::SetUpdateType<St>, S> {
6986 self._fields.14 = Option::Some(value.into());
6987 EventGroupChatUpdatedBuilder {
6988 _state: PhantomData,
6989 _fields: self._fields,
6990 _type: PhantomData,
6991 }
6992 }
6993}
6994
6995impl<St, S: BosStr> EventGroupChatUpdatedBuilder<St, S>
6996where
6997 St: event_group_chat_updated_state::State,
6998 St::ActorDid: event_group_chat_updated_state::IsSet,
6999 St::ConvoCreatedAt: event_group_chat_updated_state::IsSet,
7000 St::ConvoId: event_group_chat_updated_state::IsSet,
7001 St::CreatedAt: event_group_chat_updated_state::IsSet,
7002 St::GroupMemberCount: event_group_chat_updated_state::IsSet,
7003 St::GroupName: event_group_chat_updated_state::IsSet,
7004 St::OwnerDid: event_group_chat_updated_state::IsSet,
7005 St::Rev: event_group_chat_updated_state::IsSet,
7006 St::UpdateType: event_group_chat_updated_state::IsSet,
7007{
7008 pub fn build(self) -> EventGroupChatUpdated<S> {
7010 EventGroupChatUpdated {
7011 actor_did: self._fields.0.unwrap(),
7012 convo_created_at: self._fields.1.unwrap(),
7013 convo_id: self._fields.2.unwrap(),
7014 created_at: self._fields.3.unwrap(),
7015 group_member_count: self._fields.4.unwrap(),
7016 group_name: self._fields.5.unwrap(),
7017 join_link_code: self._fields.6,
7018 join_link_followers_only: self._fields.7,
7019 join_link_requires_approval: self._fields.8,
7020 lock_reason: self._fields.9,
7021 new_name: self._fields.10,
7022 old_name: self._fields.11,
7023 owner_did: self._fields.12.unwrap(),
7024 rev: self._fields.13.unwrap(),
7025 update_type: self._fields.14.unwrap(),
7026 extra_data: Default::default(),
7027 }
7028 }
7029 pub fn build_with_data(
7031 self,
7032 extra_data: BTreeMap<SmolStr, Data<S>>,
7033 ) -> EventGroupChatUpdated<S> {
7034 EventGroupChatUpdated {
7035 actor_did: self._fields.0.unwrap(),
7036 convo_created_at: self._fields.1.unwrap(),
7037 convo_id: self._fields.2.unwrap(),
7038 created_at: self._fields.3.unwrap(),
7039 group_member_count: self._fields.4.unwrap(),
7040 group_name: self._fields.5.unwrap(),
7041 join_link_code: self._fields.6,
7042 join_link_followers_only: self._fields.7,
7043 join_link_requires_approval: self._fields.8,
7044 lock_reason: self._fields.9,
7045 new_name: self._fields.10,
7046 old_name: self._fields.11,
7047 owner_did: self._fields.12.unwrap(),
7048 rev: self._fields.13.unwrap(),
7049 update_type: self._fields.14.unwrap(),
7050 extra_data: Some(extra_data),
7051 }
7052 }
7053}
7054
7055pub mod event_rate_limit_exceeded_state {
7056
7057 pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
7058 #[allow(unused)]
7059 use ::core::marker::PhantomData;
7060 mod sealed {
7061 pub trait Sealed {}
7062 }
7063 pub trait State: sealed::Sealed {
7065 type ActorDid;
7066 type CreatedAt;
7067 type Endpoint;
7068 type Rev;
7069 }
7070 pub struct Empty(());
7072 impl sealed::Sealed for Empty {}
7073 impl State for Empty {
7074 type ActorDid = Unset;
7075 type CreatedAt = Unset;
7076 type Endpoint = Unset;
7077 type Rev = Unset;
7078 }
7079 pub struct SetActorDid<St: State = Empty>(PhantomData<fn() -> St>);
7081 impl<St: State> sealed::Sealed for SetActorDid<St> {}
7082 impl<St: State> State for SetActorDid<St> {
7083 type ActorDid = Set<members::actor_did>;
7084 type CreatedAt = St::CreatedAt;
7085 type Endpoint = St::Endpoint;
7086 type Rev = St::Rev;
7087 }
7088 pub struct SetCreatedAt<St: State = Empty>(PhantomData<fn() -> St>);
7090 impl<St: State> sealed::Sealed for SetCreatedAt<St> {}
7091 impl<St: State> State for SetCreatedAt<St> {
7092 type ActorDid = St::ActorDid;
7093 type CreatedAt = Set<members::created_at>;
7094 type Endpoint = St::Endpoint;
7095 type Rev = St::Rev;
7096 }
7097 pub struct SetEndpoint<St: State = Empty>(PhantomData<fn() -> St>);
7099 impl<St: State> sealed::Sealed for SetEndpoint<St> {}
7100 impl<St: State> State for SetEndpoint<St> {
7101 type ActorDid = St::ActorDid;
7102 type CreatedAt = St::CreatedAt;
7103 type Endpoint = Set<members::endpoint>;
7104 type Rev = St::Rev;
7105 }
7106 pub struct SetRev<St: State = Empty>(PhantomData<fn() -> St>);
7108 impl<St: State> sealed::Sealed for SetRev<St> {}
7109 impl<St: State> State for SetRev<St> {
7110 type ActorDid = St::ActorDid;
7111 type CreatedAt = St::CreatedAt;
7112 type Endpoint = St::Endpoint;
7113 type Rev = Set<members::rev>;
7114 }
7115 #[allow(non_camel_case_types)]
7117 pub mod members {
7118 pub struct actor_did(());
7120 pub struct created_at(());
7122 pub struct endpoint(());
7124 pub struct rev(());
7126 }
7127}
7128
7129pub struct EventRateLimitExceededBuilder<
7131 St: event_rate_limit_exceeded_state::State,
7132 S: BosStr = DefaultStr,
7133> {
7134 _state: PhantomData<fn() -> St>,
7135 _fields: (Option<Did<S>>, Option<Datetime>, Option<S>, Option<S>),
7136 _type: PhantomData<fn() -> S>,
7137}
7138
7139impl EventRateLimitExceeded<DefaultStr> {
7140 pub fn new() -> EventRateLimitExceededBuilder<event_rate_limit_exceeded_state::Empty, DefaultStr>
7142 {
7143 EventRateLimitExceededBuilder::new()
7144 }
7145}
7146
7147impl<S: BosStr> EventRateLimitExceeded<S> {
7148 pub fn builder() -> EventRateLimitExceededBuilder<event_rate_limit_exceeded_state::Empty, S> {
7150 EventRateLimitExceededBuilder::builder()
7151 }
7152}
7153
7154impl EventRateLimitExceededBuilder<event_rate_limit_exceeded_state::Empty, DefaultStr> {
7155 pub fn new() -> Self {
7157 EventRateLimitExceededBuilder {
7158 _state: PhantomData,
7159 _fields: (None, None, None, None),
7160 _type: PhantomData,
7161 }
7162 }
7163}
7164
7165impl<S: BosStr> EventRateLimitExceededBuilder<event_rate_limit_exceeded_state::Empty, S> {
7166 pub fn builder() -> Self {
7168 EventRateLimitExceededBuilder {
7169 _state: PhantomData,
7170 _fields: (None, None, None, None),
7171 _type: PhantomData,
7172 }
7173 }
7174}
7175
7176impl<St, S: BosStr> EventRateLimitExceededBuilder<St, S>
7177where
7178 St: event_rate_limit_exceeded_state::State,
7179 St::ActorDid: event_rate_limit_exceeded_state::IsUnset,
7180{
7181 pub fn actor_did(
7183 mut self,
7184 value: impl Into<Did<S>>,
7185 ) -> EventRateLimitExceededBuilder<event_rate_limit_exceeded_state::SetActorDid<St>, S> {
7186 self._fields.0 = Option::Some(value.into());
7187 EventRateLimitExceededBuilder {
7188 _state: PhantomData,
7189 _fields: self._fields,
7190 _type: PhantomData,
7191 }
7192 }
7193}
7194
7195impl<St, S: BosStr> EventRateLimitExceededBuilder<St, S>
7196where
7197 St: event_rate_limit_exceeded_state::State,
7198 St::CreatedAt: event_rate_limit_exceeded_state::IsUnset,
7199{
7200 pub fn created_at(
7202 mut self,
7203 value: impl Into<Datetime>,
7204 ) -> EventRateLimitExceededBuilder<event_rate_limit_exceeded_state::SetCreatedAt<St>, S> {
7205 self._fields.1 = Option::Some(value.into());
7206 EventRateLimitExceededBuilder {
7207 _state: PhantomData,
7208 _fields: self._fields,
7209 _type: PhantomData,
7210 }
7211 }
7212}
7213
7214impl<St, S: BosStr> EventRateLimitExceededBuilder<St, S>
7215where
7216 St: event_rate_limit_exceeded_state::State,
7217 St::Endpoint: event_rate_limit_exceeded_state::IsUnset,
7218{
7219 pub fn endpoint(
7221 mut self,
7222 value: impl Into<S>,
7223 ) -> EventRateLimitExceededBuilder<event_rate_limit_exceeded_state::SetEndpoint<St>, S> {
7224 self._fields.2 = Option::Some(value.into());
7225 EventRateLimitExceededBuilder {
7226 _state: PhantomData,
7227 _fields: self._fields,
7228 _type: PhantomData,
7229 }
7230 }
7231}
7232
7233impl<St, S: BosStr> EventRateLimitExceededBuilder<St, S>
7234where
7235 St: event_rate_limit_exceeded_state::State,
7236 St::Rev: event_rate_limit_exceeded_state::IsUnset,
7237{
7238 pub fn rev(
7240 mut self,
7241 value: impl Into<S>,
7242 ) -> EventRateLimitExceededBuilder<event_rate_limit_exceeded_state::SetRev<St>, S> {
7243 self._fields.3 = Option::Some(value.into());
7244 EventRateLimitExceededBuilder {
7245 _state: PhantomData,
7246 _fields: self._fields,
7247 _type: PhantomData,
7248 }
7249 }
7250}
7251
7252impl<St, S: BosStr> EventRateLimitExceededBuilder<St, S>
7253where
7254 St: event_rate_limit_exceeded_state::State,
7255 St::ActorDid: event_rate_limit_exceeded_state::IsSet,
7256 St::CreatedAt: event_rate_limit_exceeded_state::IsSet,
7257 St::Endpoint: event_rate_limit_exceeded_state::IsSet,
7258 St::Rev: event_rate_limit_exceeded_state::IsSet,
7259{
7260 pub fn build(self) -> EventRateLimitExceeded<S> {
7262 EventRateLimitExceeded {
7263 actor_did: self._fields.0.unwrap(),
7264 created_at: self._fields.1.unwrap(),
7265 endpoint: self._fields.2.unwrap(),
7266 rev: self._fields.3.unwrap(),
7267 extra_data: Default::default(),
7268 }
7269 }
7270 pub fn build_with_data(
7272 self,
7273 extra_data: BTreeMap<SmolStr, Data<S>>,
7274 ) -> EventRateLimitExceeded<S> {
7275 EventRateLimitExceeded {
7276 actor_did: self._fields.0.unwrap(),
7277 created_at: self._fields.1.unwrap(),
7278 endpoint: self._fields.2.unwrap(),
7279 rev: self._fields.3.unwrap(),
7280 extra_data: Some(extra_data),
7281 }
7282 }
7283}
7284
7285pub mod subscribe_mod_events_state {
7286
7287 pub use crate::builder_types::{IsSet, IsUnset, Set, Unset};
7288 #[allow(unused)]
7289 use ::core::marker::PhantomData;
7290 mod sealed {
7291 pub trait Sealed {}
7292 }
7293 pub trait State: sealed::Sealed {}
7295 pub struct Empty(());
7297 impl sealed::Sealed for Empty {}
7298 impl State for Empty {}
7299 #[allow(non_camel_case_types)]
7301 pub mod members {}
7302}
7303
7304pub struct SubscribeModEventsBuilder<St: subscribe_mod_events_state::State, S: BosStr = DefaultStr>
7306{
7307 _state: PhantomData<fn() -> St>,
7308 _fields: (Option<S>,),
7309 _type: PhantomData<fn() -> S>,
7310}
7311
7312impl SubscribeModEvents<DefaultStr> {
7313 pub fn new() -> SubscribeModEventsBuilder<subscribe_mod_events_state::Empty, DefaultStr> {
7315 SubscribeModEventsBuilder::new()
7316 }
7317}
7318
7319impl<S: BosStr> SubscribeModEvents<S> {
7320 pub fn builder() -> SubscribeModEventsBuilder<subscribe_mod_events_state::Empty, S> {
7322 SubscribeModEventsBuilder::builder()
7323 }
7324}
7325
7326impl SubscribeModEventsBuilder<subscribe_mod_events_state::Empty, DefaultStr> {
7327 pub fn new() -> Self {
7329 SubscribeModEventsBuilder {
7330 _state: PhantomData,
7331 _fields: (None,),
7332 _type: PhantomData,
7333 }
7334 }
7335}
7336
7337impl<S: BosStr> SubscribeModEventsBuilder<subscribe_mod_events_state::Empty, S> {
7338 pub fn builder() -> Self {
7340 SubscribeModEventsBuilder {
7341 _state: PhantomData,
7342 _fields: (None,),
7343 _type: PhantomData,
7344 }
7345 }
7346}
7347
7348impl<St: subscribe_mod_events_state::State, S: BosStr> SubscribeModEventsBuilder<St, S> {
7349 pub fn cursor(mut self, value: impl Into<Option<S>>) -> Self {
7351 self._fields.0 = value.into();
7352 self
7353 }
7354 pub fn maybe_cursor(mut self, value: Option<S>) -> Self {
7356 self._fields.0 = value;
7357 self
7358 }
7359}
7360
7361impl<St, S: BosStr> SubscribeModEventsBuilder<St, S>
7362where
7363 St: subscribe_mod_events_state::State,
7364{
7365 pub fn build(self) -> SubscribeModEvents<S> {
7367 SubscribeModEvents {
7368 cursor: self._fields.0,
7369 }
7370 }
7371}