1// @generated by jacquard-lexicon. DO NOT EDIT.
2//
3// Lexicon: tools.smokesignal.blahg.content.post
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 Attachment<'a> {
20 ///Alt text description of the content, for accessibility.
21 #[serde(skip_serializing_if = "std::option::Option::is_none")]
22 #[serde(borrow)]
23 pub alt: std::option::Option<jacquard_common::CowStr<'a>>,
24 #[serde(borrow)]
25 pub content: jacquard_common::types::blob::Blob<'a>,
26}
27
28///A blagh post
29#[jacquard_derive::lexicon]
30#[derive(
31 serde::Serialize,
32 serde::Deserialize,
33 Debug,
34 Clone,
35 PartialEq,
36 Eq,
37 jacquard_derive::IntoStatic
38)]
39#[serde(rename_all = "camelCase")]
40pub struct Post<'a> {
41 #[serde(skip_serializing_if = "std::option::Option::is_none")]
42 #[serde(borrow)]
43 pub attachments: std::option::Option<
44 Vec<crate::tools_smokesignal::blahg::content::post::Attachment<'a>>,
45 >,
46 ///The content of the post
47 #[serde(skip_serializing_if = "std::option::Option::is_none")]
48 #[serde(borrow)]
49 pub content: std::option::Option<jacquard_common::types::blob::Blob<'a>>,
50 ///Indicates human language of text content.
51 #[serde(skip_serializing_if = "std::option::Option::is_none")]
52 pub langs: std::option::Option<Vec<jacquard_common::types::string::Language>>,
53 #[serde(skip_serializing_if = "std::option::Option::is_none")]
54 pub published_at: std::option::Option<jacquard_common::types::string::Datetime>,
55 #[serde(skip_serializing_if = "std::option::Option::is_none")]
56 #[serde(borrow)]
57 pub title: std::option::Option<jacquard_common::CowStr<'a>>,
58}
59
60impl jacquard_common::types::collection::Collection for Post<'_> {
61 const NSID: &'static str = "tools.smokesignal.blahg.content.post";
62}