atrium_api/app/bsky/embed/
video.rs

1// @generated - This file is generated by atrium-codegen. DO NOT EDIT.
2//!Definitions for the `app.bsky.embed.video` namespace.
3//!A video embedded in a Bluesky record (eg, a post).
4#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
5#[serde(rename_all = "camelCase")]
6pub struct MainData {
7    ///Alt text description of the video, for accessibility.
8    #[serde(skip_serializing_if = "core::option::Option::is_none")]
9    pub alt: core::option::Option<String>,
10    #[serde(skip_serializing_if = "core::option::Option::is_none")]
11    pub aspect_ratio: core::option::Option<crate::app::bsky::embed::defs::AspectRatio>,
12    #[serde(skip_serializing_if = "core::option::Option::is_none")]
13    pub captions: core::option::Option<Vec<Caption>>,
14    ///The mp4 video file. May be up to 100mb, formerly limited to 50mb.
15    pub video: crate::types::BlobRef,
16}
17pub type Main = crate::types::Object<MainData>;
18#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
19#[serde(rename_all = "camelCase")]
20pub struct CaptionData {
21    pub file: crate::types::BlobRef,
22    pub lang: crate::types::string::Language,
23}
24pub type Caption = crate::types::Object<CaptionData>;
25#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
26#[serde(rename_all = "camelCase")]
27pub struct ViewData {
28    #[serde(skip_serializing_if = "core::option::Option::is_none")]
29    pub alt: core::option::Option<String>,
30    #[serde(skip_serializing_if = "core::option::Option::is_none")]
31    pub aspect_ratio: core::option::Option<crate::app::bsky::embed::defs::AspectRatio>,
32    pub cid: crate::types::string::Cid,
33    pub playlist: String,
34    #[serde(skip_serializing_if = "core::option::Option::is_none")]
35    pub thumbnail: core::option::Option<String>,
36}
37pub type View = crate::types::Object<ViewData>;