jacquard_api/network_slices/
waitlist.rs

1// @generated by jacquard-lexicon. DO NOT EDIT.
2//
3// Lexicon: network.slices.waitlist.defs
4//
5// This file was automatically generated from Lexicon schemas.
6// Any manual changes will be overwritten on the next regeneration.
7
8pub mod invite;
9pub mod request;
10
11/// An invite granting a DID access with profile information
12#[jacquard_derive::lexicon]
13#[derive(
14    serde::Serialize,
15    serde::Deserialize,
16    Debug,
17    Clone,
18    PartialEq,
19    Eq,
20    jacquard_derive::IntoStatic
21)]
22#[serde(rename_all = "camelCase")]
23pub struct InviteView<'a> {
24    /// When this invitation was created
25    pub created_at: jacquard_common::types::string::Datetime,
26    /// The DID being invited
27    #[serde(borrow)]
28    pub did: jacquard_common::types::string::Did<'a>,
29    /// Optional expiration date for this invitation
30    #[serde(skip_serializing_if = "std::option::Option::is_none")]
31    pub expires_at: Option<jacquard_common::types::string::Datetime>,
32    /// Profile of the invitee
33    #[serde(skip_serializing_if = "std::option::Option::is_none")]
34    #[serde(borrow)]
35    pub profile: Option<crate::app_bsky::actor::ProfileViewBasic<'a>>,
36    /// The AT URI of the slice this invite is for
37    #[serde(borrow)]
38    pub slice: jacquard_common::types::string::AtUri<'a>,
39    /// The AT URI of this invite record
40    #[serde(skip_serializing_if = "std::option::Option::is_none")]
41    #[serde(borrow)]
42    pub uri: Option<jacquard_common::types::string::AtUri<'a>>,
43}
44
45pub mod invite_view_state {
46
47    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
48    #[allow(unused)]
49    use ::core::marker::PhantomData;
50    mod sealed {
51        pub trait Sealed {}
52    }
53    /// State trait tracking which required fields have been set
54    pub trait State: sealed::Sealed {
55        type Did;
56        type Slice;
57        type CreatedAt;
58    }
59    /// Empty state - all required fields are unset
60    pub struct Empty(());
61    impl sealed::Sealed for Empty {}
62    impl State for Empty {
63        type Did = Unset;
64        type Slice = Unset;
65        type CreatedAt = Unset;
66    }
67    ///State transition - sets the `did` field to Set
68    pub struct SetDid<S: State = Empty>(PhantomData<fn() -> S>);
69    impl<S: State> sealed::Sealed for SetDid<S> {}
70    impl<S: State> State for SetDid<S> {
71        type Did = Set<members::did>;
72        type Slice = S::Slice;
73        type CreatedAt = S::CreatedAt;
74    }
75    ///State transition - sets the `slice` field to Set
76    pub struct SetSlice<S: State = Empty>(PhantomData<fn() -> S>);
77    impl<S: State> sealed::Sealed for SetSlice<S> {}
78    impl<S: State> State for SetSlice<S> {
79        type Did = S::Did;
80        type Slice = Set<members::slice>;
81        type CreatedAt = S::CreatedAt;
82    }
83    ///State transition - sets the `created_at` field to Set
84    pub struct SetCreatedAt<S: State = Empty>(PhantomData<fn() -> S>);
85    impl<S: State> sealed::Sealed for SetCreatedAt<S> {}
86    impl<S: State> State for SetCreatedAt<S> {
87        type Did = S::Did;
88        type Slice = S::Slice;
89        type CreatedAt = Set<members::created_at>;
90    }
91    /// Marker types for field names
92    #[allow(non_camel_case_types)]
93    pub mod members {
94        ///Marker type for the `did` field
95        pub struct did(());
96        ///Marker type for the `slice` field
97        pub struct slice(());
98        ///Marker type for the `created_at` field
99        pub struct created_at(());
100    }
101}
102
103/// Builder for constructing an instance of this type
104pub struct InviteViewBuilder<'a, S: invite_view_state::State> {
105    _phantom_state: ::core::marker::PhantomData<fn() -> S>,
106    __unsafe_private_named: (
107        ::core::option::Option<jacquard_common::types::string::Datetime>,
108        ::core::option::Option<jacquard_common::types::string::Did<'a>>,
109        ::core::option::Option<jacquard_common::types::string::Datetime>,
110        ::core::option::Option<crate::app_bsky::actor::ProfileViewBasic<'a>>,
111        ::core::option::Option<jacquard_common::types::string::AtUri<'a>>,
112        ::core::option::Option<jacquard_common::types::string::AtUri<'a>>,
113    ),
114    _phantom: ::core::marker::PhantomData<&'a ()>,
115}
116
117impl<'a> InviteView<'a> {
118    /// Create a new builder for this type
119    pub fn new() -> InviteViewBuilder<'a, invite_view_state::Empty> {
120        InviteViewBuilder::new()
121    }
122}
123
124impl<'a> InviteViewBuilder<'a, invite_view_state::Empty> {
125    /// Create a new builder with all fields unset
126    pub fn new() -> Self {
127        InviteViewBuilder {
128            _phantom_state: ::core::marker::PhantomData,
129            __unsafe_private_named: (None, None, None, None, None, None),
130            _phantom: ::core::marker::PhantomData,
131        }
132    }
133}
134
135impl<'a, S> InviteViewBuilder<'a, S>
136where
137    S: invite_view_state::State,
138    S::CreatedAt: invite_view_state::IsUnset,
139{
140    /// Set the `createdAt` field (required)
141    pub fn created_at(
142        mut self,
143        value: impl Into<jacquard_common::types::string::Datetime>,
144    ) -> InviteViewBuilder<'a, invite_view_state::SetCreatedAt<S>> {
145        self.__unsafe_private_named.0 = ::core::option::Option::Some(value.into());
146        InviteViewBuilder {
147            _phantom_state: ::core::marker::PhantomData,
148            __unsafe_private_named: self.__unsafe_private_named,
149            _phantom: ::core::marker::PhantomData,
150        }
151    }
152}
153
154impl<'a, S> InviteViewBuilder<'a, S>
155where
156    S: invite_view_state::State,
157    S::Did: invite_view_state::IsUnset,
158{
159    /// Set the `did` field (required)
160    pub fn did(
161        mut self,
162        value: impl Into<jacquard_common::types::string::Did<'a>>,
163    ) -> InviteViewBuilder<'a, invite_view_state::SetDid<S>> {
164        self.__unsafe_private_named.1 = ::core::option::Option::Some(value.into());
165        InviteViewBuilder {
166            _phantom_state: ::core::marker::PhantomData,
167            __unsafe_private_named: self.__unsafe_private_named,
168            _phantom: ::core::marker::PhantomData,
169        }
170    }
171}
172
173impl<'a, S: invite_view_state::State> InviteViewBuilder<'a, S> {
174    /// Set the `expiresAt` field (optional)
175    pub fn expires_at(
176        mut self,
177        value: impl Into<Option<jacquard_common::types::string::Datetime>>,
178    ) -> Self {
179        self.__unsafe_private_named.2 = value.into();
180        self
181    }
182    /// Set the `expiresAt` field to an Option value (optional)
183    pub fn maybe_expires_at(
184        mut self,
185        value: Option<jacquard_common::types::string::Datetime>,
186    ) -> Self {
187        self.__unsafe_private_named.2 = value;
188        self
189    }
190}
191
192impl<'a, S: invite_view_state::State> InviteViewBuilder<'a, S> {
193    /// Set the `profile` field (optional)
194    pub fn profile(
195        mut self,
196        value: impl Into<Option<crate::app_bsky::actor::ProfileViewBasic<'a>>>,
197    ) -> Self {
198        self.__unsafe_private_named.3 = value.into();
199        self
200    }
201    /// Set the `profile` field to an Option value (optional)
202    pub fn maybe_profile(
203        mut self,
204        value: Option<crate::app_bsky::actor::ProfileViewBasic<'a>>,
205    ) -> Self {
206        self.__unsafe_private_named.3 = value;
207        self
208    }
209}
210
211impl<'a, S> InviteViewBuilder<'a, S>
212where
213    S: invite_view_state::State,
214    S::Slice: invite_view_state::IsUnset,
215{
216    /// Set the `slice` field (required)
217    pub fn slice(
218        mut self,
219        value: impl Into<jacquard_common::types::string::AtUri<'a>>,
220    ) -> InviteViewBuilder<'a, invite_view_state::SetSlice<S>> {
221        self.__unsafe_private_named.4 = ::core::option::Option::Some(value.into());
222        InviteViewBuilder {
223            _phantom_state: ::core::marker::PhantomData,
224            __unsafe_private_named: self.__unsafe_private_named,
225            _phantom: ::core::marker::PhantomData,
226        }
227    }
228}
229
230impl<'a, S: invite_view_state::State> InviteViewBuilder<'a, S> {
231    /// Set the `uri` field (optional)
232    pub fn uri(
233        mut self,
234        value: impl Into<Option<jacquard_common::types::string::AtUri<'a>>>,
235    ) -> Self {
236        self.__unsafe_private_named.5 = value.into();
237        self
238    }
239    /// Set the `uri` field to an Option value (optional)
240    pub fn maybe_uri(
241        mut self,
242        value: Option<jacquard_common::types::string::AtUri<'a>>,
243    ) -> Self {
244        self.__unsafe_private_named.5 = value;
245        self
246    }
247}
248
249impl<'a, S> InviteViewBuilder<'a, S>
250where
251    S: invite_view_state::State,
252    S::Did: invite_view_state::IsSet,
253    S::Slice: invite_view_state::IsSet,
254    S::CreatedAt: invite_view_state::IsSet,
255{
256    /// Build the final struct
257    pub fn build(self) -> InviteView<'a> {
258        InviteView {
259            created_at: self.__unsafe_private_named.0.unwrap(),
260            did: self.__unsafe_private_named.1.unwrap(),
261            expires_at: self.__unsafe_private_named.2,
262            profile: self.__unsafe_private_named.3,
263            slice: self.__unsafe_private_named.4.unwrap(),
264            uri: self.__unsafe_private_named.5,
265            extra_data: Default::default(),
266        }
267    }
268    /// Build the final struct with custom extra_data
269    pub fn build_with_data(
270        self,
271        extra_data: std::collections::BTreeMap<
272            jacquard_common::smol_str::SmolStr,
273            jacquard_common::types::value::Data<'a>,
274        >,
275    ) -> InviteView<'a> {
276        InviteView {
277            created_at: self.__unsafe_private_named.0.unwrap(),
278            did: self.__unsafe_private_named.1.unwrap(),
279            expires_at: self.__unsafe_private_named.2,
280            profile: self.__unsafe_private_named.3,
281            slice: self.__unsafe_private_named.4.unwrap(),
282            uri: self.__unsafe_private_named.5,
283            extra_data: Some(extra_data),
284        }
285    }
286}
287
288fn lexicon_doc_network_slices_waitlist_defs() -> ::jacquard_lexicon::lexicon::LexiconDoc<
289    'static,
290> {
291    ::jacquard_lexicon::lexicon::LexiconDoc {
292        lexicon: ::jacquard_lexicon::lexicon::Lexicon::Lexicon1,
293        id: ::jacquard_common::CowStr::new_static("network.slices.waitlist.defs"),
294        revision: None,
295        description: None,
296        defs: {
297            let mut map = ::std::collections::BTreeMap::new();
298            map.insert(
299                ::jacquard_common::smol_str::SmolStr::new_static("inviteView"),
300                ::jacquard_lexicon::lexicon::LexUserType::Object(::jacquard_lexicon::lexicon::LexObject {
301                    description: Some(
302                        ::jacquard_common::CowStr::new_static(
303                            "An invite granting a DID access with profile information",
304                        ),
305                    ),
306                    required: Some(
307                        vec![
308                            ::jacquard_common::smol_str::SmolStr::new_static("did"),
309                            ::jacquard_common::smol_str::SmolStr::new_static("slice"),
310                            ::jacquard_common::smol_str::SmolStr::new_static("createdAt")
311                        ],
312                    ),
313                    nullable: None,
314                    properties: {
315                        #[allow(unused_mut)]
316                        let mut map = ::std::collections::BTreeMap::new();
317                        map.insert(
318                            ::jacquard_common::smol_str::SmolStr::new_static(
319                                "createdAt",
320                            ),
321                            ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
322                                description: Some(
323                                    ::jacquard_common::CowStr::new_static(
324                                        "When this invitation was created",
325                                    ),
326                                ),
327                                format: Some(
328                                    ::jacquard_lexicon::lexicon::LexStringFormat::Datetime,
329                                ),
330                                default: None,
331                                min_length: None,
332                                max_length: None,
333                                min_graphemes: None,
334                                max_graphemes: None,
335                                r#enum: None,
336                                r#const: None,
337                                known_values: None,
338                            }),
339                        );
340                        map.insert(
341                            ::jacquard_common::smol_str::SmolStr::new_static("did"),
342                            ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
343                                description: Some(
344                                    ::jacquard_common::CowStr::new_static(
345                                        "The DID being invited",
346                                    ),
347                                ),
348                                format: Some(
349                                    ::jacquard_lexicon::lexicon::LexStringFormat::Did,
350                                ),
351                                default: None,
352                                min_length: None,
353                                max_length: None,
354                                min_graphemes: None,
355                                max_graphemes: None,
356                                r#enum: None,
357                                r#const: None,
358                                known_values: None,
359                            }),
360                        );
361                        map.insert(
362                            ::jacquard_common::smol_str::SmolStr::new_static(
363                                "expiresAt",
364                            ),
365                            ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
366                                description: Some(
367                                    ::jacquard_common::CowStr::new_static(
368                                        "Optional expiration date for this invitation",
369                                    ),
370                                ),
371                                format: Some(
372                                    ::jacquard_lexicon::lexicon::LexStringFormat::Datetime,
373                                ),
374                                default: None,
375                                min_length: None,
376                                max_length: None,
377                                min_graphemes: None,
378                                max_graphemes: None,
379                                r#enum: None,
380                                r#const: None,
381                                known_values: None,
382                            }),
383                        );
384                        map.insert(
385                            ::jacquard_common::smol_str::SmolStr::new_static("profile"),
386                            ::jacquard_lexicon::lexicon::LexObjectProperty::Ref(::jacquard_lexicon::lexicon::LexRef {
387                                description: None,
388                                r#ref: ::jacquard_common::CowStr::new_static(
389                                    "app.bsky.actor.defs#profileViewBasic",
390                                ),
391                            }),
392                        );
393                        map.insert(
394                            ::jacquard_common::smol_str::SmolStr::new_static("slice"),
395                            ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
396                                description: Some(
397                                    ::jacquard_common::CowStr::new_static(
398                                        "The AT URI of the slice this invite is for",
399                                    ),
400                                ),
401                                format: Some(
402                                    ::jacquard_lexicon::lexicon::LexStringFormat::AtUri,
403                                ),
404                                default: None,
405                                min_length: None,
406                                max_length: None,
407                                min_graphemes: None,
408                                max_graphemes: None,
409                                r#enum: None,
410                                r#const: None,
411                                known_values: None,
412                            }),
413                        );
414                        map.insert(
415                            ::jacquard_common::smol_str::SmolStr::new_static("uri"),
416                            ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
417                                description: Some(
418                                    ::jacquard_common::CowStr::new_static(
419                                        "The AT URI of this invite record",
420                                    ),
421                                ),
422                                format: Some(
423                                    ::jacquard_lexicon::lexicon::LexStringFormat::AtUri,
424                                ),
425                                default: None,
426                                min_length: None,
427                                max_length: None,
428                                min_graphemes: None,
429                                max_graphemes: None,
430                                r#enum: None,
431                                r#const: None,
432                                known_values: None,
433                            }),
434                        );
435                        map
436                    },
437                }),
438            );
439            map.insert(
440                ::jacquard_common::smol_str::SmolStr::new_static("requestView"),
441                ::jacquard_lexicon::lexicon::LexUserType::Object(::jacquard_lexicon::lexicon::LexObject {
442                    description: Some(
443                        ::jacquard_common::CowStr::new_static(
444                            "A request to join the waitlist with profile information",
445                        ),
446                    ),
447                    required: Some(
448                        vec![
449                            ::jacquard_common::smol_str::SmolStr::new_static("slice"),
450                            ::jacquard_common::smol_str::SmolStr::new_static("createdAt")
451                        ],
452                    ),
453                    nullable: None,
454                    properties: {
455                        #[allow(unused_mut)]
456                        let mut map = ::std::collections::BTreeMap::new();
457                        map.insert(
458                            ::jacquard_common::smol_str::SmolStr::new_static(
459                                "createdAt",
460                            ),
461                            ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
462                                description: Some(
463                                    ::jacquard_common::CowStr::new_static(
464                                        "When the user joined the waitlist",
465                                    ),
466                                ),
467                                format: Some(
468                                    ::jacquard_lexicon::lexicon::LexStringFormat::Datetime,
469                                ),
470                                default: None,
471                                min_length: None,
472                                max_length: None,
473                                min_graphemes: None,
474                                max_graphemes: None,
475                                r#enum: None,
476                                r#const: None,
477                                known_values: None,
478                            }),
479                        );
480                        map.insert(
481                            ::jacquard_common::smol_str::SmolStr::new_static("profile"),
482                            ::jacquard_lexicon::lexicon::LexObjectProperty::Ref(::jacquard_lexicon::lexicon::LexRef {
483                                description: None,
484                                r#ref: ::jacquard_common::CowStr::new_static(
485                                    "app.bsky.actor.defs#profileViewBasic",
486                                ),
487                            }),
488                        );
489                        map.insert(
490                            ::jacquard_common::smol_str::SmolStr::new_static("slice"),
491                            ::jacquard_lexicon::lexicon::LexObjectProperty::String(::jacquard_lexicon::lexicon::LexString {
492                                description: Some(
493                                    ::jacquard_common::CowStr::new_static(
494                                        "The AT URI of the slice being requested access to",
495                                    ),
496                                ),
497                                format: Some(
498                                    ::jacquard_lexicon::lexicon::LexStringFormat::AtUri,
499                                ),
500                                default: None,
501                                min_length: None,
502                                max_length: None,
503                                min_graphemes: None,
504                                max_graphemes: None,
505                                r#enum: None,
506                                r#const: None,
507                                known_values: None,
508                            }),
509                        );
510                        map
511                    },
512                }),
513            );
514            map
515        },
516    }
517}
518
519impl<'a> ::jacquard_lexicon::schema::LexiconSchema for InviteView<'a> {
520    fn nsid() -> &'static str {
521        "network.slices.waitlist.defs"
522    }
523    fn def_name() -> &'static str {
524        "inviteView"
525    }
526    fn lexicon_doc() -> ::jacquard_lexicon::lexicon::LexiconDoc<'static> {
527        lexicon_doc_network_slices_waitlist_defs()
528    }
529    fn validate(
530        &self,
531    ) -> ::std::result::Result<(), ::jacquard_lexicon::validation::ConstraintError> {
532        Ok(())
533    }
534}
535
536/// A request to join the waitlist with profile information
537#[jacquard_derive::lexicon]
538#[derive(
539    serde::Serialize,
540    serde::Deserialize,
541    Debug,
542    Clone,
543    PartialEq,
544    Eq,
545    jacquard_derive::IntoStatic
546)]
547#[serde(rename_all = "camelCase")]
548pub struct RequestView<'a> {
549    /// When the user joined the waitlist
550    pub created_at: jacquard_common::types::string::Datetime,
551    /// Profile of the requester
552    #[serde(skip_serializing_if = "std::option::Option::is_none")]
553    #[serde(borrow)]
554    pub profile: Option<crate::app_bsky::actor::ProfileViewBasic<'a>>,
555    /// The AT URI of the slice being requested access to
556    #[serde(borrow)]
557    pub slice: jacquard_common::types::string::AtUri<'a>,
558}
559
560pub mod request_view_state {
561
562    pub use crate::builder_types::{Set, Unset, IsSet, IsUnset};
563    #[allow(unused)]
564    use ::core::marker::PhantomData;
565    mod sealed {
566        pub trait Sealed {}
567    }
568    /// State trait tracking which required fields have been set
569    pub trait State: sealed::Sealed {
570        type Slice;
571        type CreatedAt;
572    }
573    /// Empty state - all required fields are unset
574    pub struct Empty(());
575    impl sealed::Sealed for Empty {}
576    impl State for Empty {
577        type Slice = Unset;
578        type CreatedAt = Unset;
579    }
580    ///State transition - sets the `slice` field to Set
581    pub struct SetSlice<S: State = Empty>(PhantomData<fn() -> S>);
582    impl<S: State> sealed::Sealed for SetSlice<S> {}
583    impl<S: State> State for SetSlice<S> {
584        type Slice = Set<members::slice>;
585        type CreatedAt = S::CreatedAt;
586    }
587    ///State transition - sets the `created_at` field to Set
588    pub struct SetCreatedAt<S: State = Empty>(PhantomData<fn() -> S>);
589    impl<S: State> sealed::Sealed for SetCreatedAt<S> {}
590    impl<S: State> State for SetCreatedAt<S> {
591        type Slice = S::Slice;
592        type CreatedAt = Set<members::created_at>;
593    }
594    /// Marker types for field names
595    #[allow(non_camel_case_types)]
596    pub mod members {
597        ///Marker type for the `slice` field
598        pub struct slice(());
599        ///Marker type for the `created_at` field
600        pub struct created_at(());
601    }
602}
603
604/// Builder for constructing an instance of this type
605pub struct RequestViewBuilder<'a, S: request_view_state::State> {
606    _phantom_state: ::core::marker::PhantomData<fn() -> S>,
607    __unsafe_private_named: (
608        ::core::option::Option<jacquard_common::types::string::Datetime>,
609        ::core::option::Option<crate::app_bsky::actor::ProfileViewBasic<'a>>,
610        ::core::option::Option<jacquard_common::types::string::AtUri<'a>>,
611    ),
612    _phantom: ::core::marker::PhantomData<&'a ()>,
613}
614
615impl<'a> RequestView<'a> {
616    /// Create a new builder for this type
617    pub fn new() -> RequestViewBuilder<'a, request_view_state::Empty> {
618        RequestViewBuilder::new()
619    }
620}
621
622impl<'a> RequestViewBuilder<'a, request_view_state::Empty> {
623    /// Create a new builder with all fields unset
624    pub fn new() -> Self {
625        RequestViewBuilder {
626            _phantom_state: ::core::marker::PhantomData,
627            __unsafe_private_named: (None, None, None),
628            _phantom: ::core::marker::PhantomData,
629        }
630    }
631}
632
633impl<'a, S> RequestViewBuilder<'a, S>
634where
635    S: request_view_state::State,
636    S::CreatedAt: request_view_state::IsUnset,
637{
638    /// Set the `createdAt` field (required)
639    pub fn created_at(
640        mut self,
641        value: impl Into<jacquard_common::types::string::Datetime>,
642    ) -> RequestViewBuilder<'a, request_view_state::SetCreatedAt<S>> {
643        self.__unsafe_private_named.0 = ::core::option::Option::Some(value.into());
644        RequestViewBuilder {
645            _phantom_state: ::core::marker::PhantomData,
646            __unsafe_private_named: self.__unsafe_private_named,
647            _phantom: ::core::marker::PhantomData,
648        }
649    }
650}
651
652impl<'a, S: request_view_state::State> RequestViewBuilder<'a, S> {
653    /// Set the `profile` field (optional)
654    pub fn profile(
655        mut self,
656        value: impl Into<Option<crate::app_bsky::actor::ProfileViewBasic<'a>>>,
657    ) -> Self {
658        self.__unsafe_private_named.1 = value.into();
659        self
660    }
661    /// Set the `profile` field to an Option value (optional)
662    pub fn maybe_profile(
663        mut self,
664        value: Option<crate::app_bsky::actor::ProfileViewBasic<'a>>,
665    ) -> Self {
666        self.__unsafe_private_named.1 = value;
667        self
668    }
669}
670
671impl<'a, S> RequestViewBuilder<'a, S>
672where
673    S: request_view_state::State,
674    S::Slice: request_view_state::IsUnset,
675{
676    /// Set the `slice` field (required)
677    pub fn slice(
678        mut self,
679        value: impl Into<jacquard_common::types::string::AtUri<'a>>,
680    ) -> RequestViewBuilder<'a, request_view_state::SetSlice<S>> {
681        self.__unsafe_private_named.2 = ::core::option::Option::Some(value.into());
682        RequestViewBuilder {
683            _phantom_state: ::core::marker::PhantomData,
684            __unsafe_private_named: self.__unsafe_private_named,
685            _phantom: ::core::marker::PhantomData,
686        }
687    }
688}
689
690impl<'a, S> RequestViewBuilder<'a, S>
691where
692    S: request_view_state::State,
693    S::Slice: request_view_state::IsSet,
694    S::CreatedAt: request_view_state::IsSet,
695{
696    /// Build the final struct
697    pub fn build(self) -> RequestView<'a> {
698        RequestView {
699            created_at: self.__unsafe_private_named.0.unwrap(),
700            profile: self.__unsafe_private_named.1,
701            slice: self.__unsafe_private_named.2.unwrap(),
702            extra_data: Default::default(),
703        }
704    }
705    /// Build the final struct with custom extra_data
706    pub fn build_with_data(
707        self,
708        extra_data: std::collections::BTreeMap<
709            jacquard_common::smol_str::SmolStr,
710            jacquard_common::types::value::Data<'a>,
711        >,
712    ) -> RequestView<'a> {
713        RequestView {
714            created_at: self.__unsafe_private_named.0.unwrap(),
715            profile: self.__unsafe_private_named.1,
716            slice: self.__unsafe_private_named.2.unwrap(),
717            extra_data: Some(extra_data),
718        }
719    }
720}
721
722impl<'a> ::jacquard_lexicon::schema::LexiconSchema for RequestView<'a> {
723    fn nsid() -> &'static str {
724        "network.slices.waitlist.defs"
725    }
726    fn def_name() -> &'static str {
727        "requestView"
728    }
729    fn lexicon_doc() -> ::jacquard_lexicon::lexicon::LexiconDoc<'static> {
730        lexicon_doc_network_slices_waitlist_defs()
731    }
732    fn validate(
733        &self,
734    ) -> ::std::result::Result<(), ::jacquard_lexicon::validation::ConstraintError> {
735        Ok(())
736    }
737}