atproto blogging
1// @generated by jacquard-lexicon. DO NOT EDIT.
2//
3// Lexicon: app.bsky.video.uploadVideo
4//
5// This file was automatically generated from Lexicon schemas.
6// Any manual changes will be overwritten on the next regeneration.
7
8#[derive(
9 serde::Serialize,
10 serde::Deserialize,
11 Debug,
12 Clone,
13 PartialEq,
14 Eq,
15 jacquard_derive::IntoStatic
16)]
17#[serde(rename_all = "camelCase")]
18pub struct UploadVideo {
19 pub body: bytes::Bytes,
20}
21
22#[jacquard_derive::lexicon]
23#[derive(
24 serde::Serialize,
25 serde::Deserialize,
26 Debug,
27 Clone,
28 PartialEq,
29 Eq,
30 jacquard_derive::IntoStatic
31)]
32#[serde(rename_all = "camelCase")]
33pub struct UploadVideoOutput<'a> {
34 #[serde(borrow)]
35 pub job_status: crate::app_bsky::video::JobStatus<'a>,
36}
37
38/// Response type for
39///app.bsky.video.uploadVideo
40pub struct UploadVideoResponse;
41impl jacquard_common::xrpc::XrpcResp for UploadVideoResponse {
42 const NSID: &'static str = "app.bsky.video.uploadVideo";
43 const ENCODING: &'static str = "application/json";
44 type Output<'de> = UploadVideoOutput<'de>;
45 type Err<'de> = jacquard_common::xrpc::GenericError<'de>;
46}
47
48impl jacquard_common::xrpc::XrpcRequest for UploadVideo {
49 const NSID: &'static str = "app.bsky.video.uploadVideo";
50 const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
51 "video/mp4",
52 );
53 type Response = UploadVideoResponse;
54 fn encode_body(&self) -> Result<Vec<u8>, jacquard_common::xrpc::EncodeError> {
55 Ok(self.body.to_vec())
56 }
57 fn decode_body<'de>(
58 body: &'de [u8],
59 ) -> Result<Box<Self>, jacquard_common::error::DecodeError>
60 where
61 Self: serde::Deserialize<'de>,
62 {
63 Ok(
64 Box::new(Self {
65 body: bytes::Bytes::copy_from_slice(body),
66 }),
67 )
68 }
69}
70
71/// Endpoint type for
72///app.bsky.video.uploadVideo
73pub struct UploadVideoRequest;
74impl jacquard_common::xrpc::XrpcEndpoint for UploadVideoRequest {
75 const PATH: &'static str = "/xrpc/app.bsky.video.uploadVideo";
76 const METHOD: jacquard_common::xrpc::XrpcMethod = jacquard_common::xrpc::XrpcMethod::Procedure(
77 "video/mp4",
78 );
79 type Request<'de> = UploadVideo;
80 type Response = UploadVideoResponse;
81}