1// @generated by jacquard-lexicon. DO NOT EDIT.
2//
3// Lexicon: sh.weaver.embed.video
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 bon::Builder
18)]
19#[serde(rename_all = "camelCase")]
20pub struct Caption<'a> {
21 #[serde(borrow)]
22 pub file: jacquard_common::types::blob::Blob<'a>,
23 pub lang: jacquard_common::types::string::Language,
24}
25
26#[jacquard_derive::lexicon]
27#[derive(
28 serde::Serialize,
29 serde::Deserialize,
30 Debug,
31 Clone,
32 PartialEq,
33 Eq,
34 jacquard_derive::IntoStatic,
35 bon::Builder
36)]
37#[serde(rename_all = "camelCase")]
38pub struct Video<'a> {
39 /// Alt text description of the video, for accessibility.
40 #[serde(skip_serializing_if = "std::option::Option::is_none")]
41 #[builder(into)]
42 #[serde(borrow)]
43 pub alt: Option<jacquard_common::CowStr<'a>>,
44 #[serde(skip_serializing_if = "std::option::Option::is_none")]
45 #[builder(into)]
46 #[serde(borrow)]
47 pub aspect_ratio: Option<crate::app_bsky::embed::AspectRatio<'a>>,
48 #[serde(skip_serializing_if = "std::option::Option::is_none")]
49 #[builder(into)]
50 #[serde(borrow)]
51 pub captions: Option<Vec<crate::sh_weaver::embed::video::Caption<'a>>>,
52 /// The mp4 video file. May be up to 100mb, formerly limited to 50mb.
53 #[serde(borrow)]
54 pub video: jacquard_common::types::blob::Blob<'a>,
55}
56
57#[jacquard_derive::lexicon]
58#[derive(
59 serde::Serialize,
60 serde::Deserialize,
61 Debug,
62 Clone,
63 PartialEq,
64 Eq,
65 jacquard_derive::IntoStatic,
66 bon::Builder
67)]
68#[serde(rename_all = "camelCase")]
69pub struct View<'a> {
70 #[serde(skip_serializing_if = "std::option::Option::is_none")]
71 #[builder(into)]
72 #[serde(borrow)]
73 pub alt: Option<jacquard_common::CowStr<'a>>,
74 #[serde(skip_serializing_if = "std::option::Option::is_none")]
75 #[builder(into)]
76 #[serde(borrow)]
77 pub aspect_ratio: Option<crate::app_bsky::embed::AspectRatio<'a>>,
78 #[serde(borrow)]
79 pub cid: jacquard_common::types::string::Cid<'a>,
80 #[serde(borrow)]
81 pub playlist: jacquard_common::types::string::Uri<'a>,
82 #[serde(skip_serializing_if = "std::option::Option::is_none")]
83 #[builder(into)]
84 #[serde(borrow)]
85 pub thumbnail: Option<jacquard_common::types::string::Uri<'a>>,
86}