atrium_api/com/atproto/sync/
subscribe_repos.rs1pub const NSID: &str = "com.atproto.sync.subscribeRepos";
4#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
5#[serde(rename_all = "camelCase")]
6pub struct ParametersData {
7 #[serde(skip_serializing_if = "core::option::Option::is_none")]
9 pub cursor: core::option::Option<i64>,
10}
11pub type Parameters = crate::types::Object<ParametersData>;
12#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
13#[serde(tag = "error", content = "message")]
14pub enum Error {
15 FutureCursor(Option<String>),
16 ConsumerTooSlow(Option<String>),
18}
19impl std::fmt::Display for Error {
20 fn fmt(&self, _f: &mut std::fmt::Formatter) -> std::fmt::Result {
21 match self {
22 Error::FutureCursor(msg) => {
23 write!(_f, "FutureCursor")?;
24 if let Some(msg) = msg {
25 write!(_f, ": {msg}")?;
26 }
27 }
28 Error::ConsumerTooSlow(msg) => {
29 write!(_f, "ConsumerTooSlow")?;
30 if let Some(msg) = msg {
31 write!(_f, ": {msg}")?;
32 }
33 }
34 }
35 Ok(())
36 }
37}
38#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
40#[serde(rename_all = "camelCase")]
41pub struct AccountData {
42 pub active: bool,
44 pub did: crate::types::string::Did,
45 pub seq: i64,
46 #[serde(skip_serializing_if = "core::option::Option::is_none")]
48 pub status: core::option::Option<String>,
49 pub time: crate::types::string::Datetime,
50}
51pub type Account = crate::types::Object<AccountData>;
52#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
54#[serde(rename_all = "camelCase")]
55pub struct CommitData {
56 pub blobs: Vec<crate::types::CidLink>,
57 #[serde(with = "serde_bytes")]
59 pub blocks: Vec<u8>,
60 pub commit: crate::types::CidLink,
62 pub ops: Vec<RepoOp>,
63 #[serde(skip_serializing_if = "core::option::Option::is_none")]
65 pub prev_data: core::option::Option<crate::types::CidLink>,
66 pub rebase: bool,
68 pub repo: crate::types::string::Did,
70 pub rev: crate::types::string::Tid,
72 pub seq: i64,
74 #[serde(skip_serializing_if = "core::option::Option::is_none")]
76 pub since: core::option::Option<crate::types::string::Tid>,
77 pub time: crate::types::string::Datetime,
79 pub too_big: bool,
81}
82pub type Commit = crate::types::Object<CommitData>;
83#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
85#[serde(rename_all = "camelCase")]
86pub struct IdentityData {
87 pub did: crate::types::string::Did,
88 #[serde(skip_serializing_if = "core::option::Option::is_none")]
90 pub handle: core::option::Option<crate::types::string::Handle>,
91 pub seq: i64,
92 pub time: crate::types::string::Datetime,
93}
94pub type Identity = crate::types::Object<IdentityData>;
95#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
96#[serde(rename_all = "camelCase")]
97pub struct InfoData {
98 #[serde(skip_serializing_if = "core::option::Option::is_none")]
99 pub message: core::option::Option<String>,
100 pub name: String,
101}
102pub type Info = crate::types::Object<InfoData>;
103#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
105#[serde(rename_all = "camelCase")]
106pub struct RepoOpData {
107 pub action: String,
108 #[serde(skip_serializing_if = "core::option::Option::is_none")]
110 pub cid: core::option::Option<crate::types::CidLink>,
111 pub path: String,
112 #[serde(skip_serializing_if = "core::option::Option::is_none")]
114 pub prev: core::option::Option<crate::types::CidLink>,
115}
116pub type RepoOp = crate::types::Object<RepoOpData>;
117#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
119#[serde(rename_all = "camelCase")]
120pub struct SyncData {
121 #[serde(with = "serde_bytes")]
123 pub blocks: Vec<u8>,
124 pub did: crate::types::string::Did,
126 pub rev: String,
128 pub seq: i64,
130 pub time: crate::types::string::Datetime,
132}
133pub type Sync = crate::types::Object<SyncData>;
134#[derive(serde::Serialize, serde::Deserialize, Debug, Clone, PartialEq, Eq)]
135#[serde(tag = "$type")]
136pub enum Message {
137 #[serde(rename = "com.atproto.sync.subscribeRepos#commit")]
138 Commit(Box<Commit>),
139 #[serde(rename = "com.atproto.sync.subscribeRepos#sync")]
140 Sync(Box<Sync>),
141 #[serde(rename = "com.atproto.sync.subscribeRepos#identity")]
142 Identity(Box<Identity>),
143 #[serde(rename = "com.atproto.sync.subscribeRepos#account")]
144 Account(Box<Account>),
145 #[serde(rename = "com.atproto.sync.subscribeRepos#info")]
146 Info(Box<Info>),
147}