1// @generated by jacquard-lexicon. DO NOT EDIT.
2//
3// Lexicon: pub.leaflet.comment
4//
5// This file was automatically generated from Lexicon schemas.
6// Any manual changes will be overwritten on the next regeneration.
7
8#[jacquard_derive::lexicon]
9#[derive(
10 serde::Serialize,
11 serde::Deserialize,
12 Debug,
13 Clone,
14 PartialEq,
15 Eq,
16 jacquard_derive::IntoStatic
17)]
18#[serde(rename_all = "camelCase")]
19pub struct LinearDocumentQuote<'a> {
20 #[serde(borrow)]
21 pub document: jacquard_common::types::string::AtUri<'a>,
22 #[serde(borrow)]
23 pub quote: crate::pub_leaflet::pages::linear_document::Quote<'a>,
24}
25
26///Record containing a comment
27#[jacquard_derive::lexicon]
28#[derive(
29 serde::Serialize,
30 serde::Deserialize,
31 Debug,
32 Clone,
33 PartialEq,
34 Eq,
35 jacquard_derive::IntoStatic
36)]
37#[serde(rename_all = "camelCase")]
38pub struct Comment<'a> {
39 #[serde(skip_serializing_if = "std::option::Option::is_none")]
40 #[serde(borrow)]
41 pub attachment: std::option::Option<CommentRecordAttachment<'a>>,
42 pub created_at: jacquard_common::types::string::Datetime,
43 #[serde(skip_serializing_if = "std::option::Option::is_none")]
44 #[serde(borrow)]
45 pub facets: std::option::Option<Vec<crate::pub_leaflet::richtext::facet::Facet<'a>>>,
46 #[serde(borrow)]
47 pub plaintext: jacquard_common::CowStr<'a>,
48 #[serde(skip_serializing_if = "std::option::Option::is_none")]
49 #[serde(borrow)]
50 pub reply: std::option::Option<crate::pub_leaflet::comment::ReplyRef<'a>>,
51 #[serde(borrow)]
52 pub subject: jacquard_common::types::string::AtUri<'a>,
53}
54
55#[jacquard_derive::open_union]
56#[derive(
57 serde::Serialize,
58 serde::Deserialize,
59 Debug,
60 Clone,
61 PartialEq,
62 Eq,
63 jacquard_derive::IntoStatic
64)]
65#[serde(tag = "$type")]
66#[serde(bound(deserialize = "'de: 'a"))]
67pub enum CommentRecordAttachment<'a> {}
68impl jacquard_common::types::collection::Collection for Comment<'_> {
69 const NSID: &'static str = "pub.leaflet.comment";
70}
71
72#[jacquard_derive::lexicon]
73#[derive(
74 serde::Serialize,
75 serde::Deserialize,
76 Debug,
77 Clone,
78 PartialEq,
79 Eq,
80 jacquard_derive::IntoStatic
81)]
82#[serde(rename_all = "camelCase")]
83pub struct ReplyRef<'a> {
84 #[serde(borrow)]
85 pub parent: jacquard_common::types::string::AtUri<'a>,
86}