#![allow(clippy::pedantic, clippy::nursery, clippy::all)]
use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct Account {
pub active: bool,
pub did: proto_blue_syntax::Did,
pub seq: i64,
#[serde(skip_serializing_if = "Option::is_none")]
pub status: Option<String>,
pub time: proto_blue_syntax::Datetime,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct Commit {
pub blobs: Vec<proto_blue_lex_data::Cid>,
pub blocks: Vec<u8>,
pub commit: proto_blue_lex_data::Cid,
pub ops: Vec<RepoOp>,
#[serde(skip_serializing_if = "Option::is_none")]
pub prev_data: Option<proto_blue_lex_data::Cid>,
pub rebase: bool,
pub repo: proto_blue_syntax::Did,
pub rev: proto_blue_syntax::Tid,
pub seq: i64,
pub since: Option<proto_blue_syntax::Tid>,
pub time: proto_blue_syntax::Datetime,
pub too_big: bool,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct Identity {
pub did: proto_blue_syntax::Did,
#[serde(skip_serializing_if = "Option::is_none")]
pub handle: Option<proto_blue_syntax::Handle>,
pub seq: i64,
pub time: proto_blue_syntax::Datetime,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct Info {
#[serde(skip_serializing_if = "Option::is_none")]
pub message: Option<String>,
pub name: String,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct Params {
#[serde(skip_serializing_if = "Option::is_none")]
pub cursor: Option<i64>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(tag = "$type")]
pub enum Message {
#[serde(rename = "com.atproto.sync.subscribeRepos#commit")]
AtprotoSyncSubscribeReposCommit(Box<Commit>),
#[serde(rename = "com.atproto.sync.subscribeRepos#sync")]
AtprotoSyncSubscribeReposSync(Box<Sync>),
#[serde(rename = "com.atproto.sync.subscribeRepos#identity")]
AtprotoSyncSubscribeReposIdentity(Box<Identity>),
#[serde(rename = "com.atproto.sync.subscribeRepos#account")]
AtprotoSyncSubscribeReposAccount(Box<Account>),
#[serde(rename = "com.atproto.sync.subscribeRepos#info")]
AtprotoSyncSubscribeReposInfo(Box<Info>),
#[serde(other)]
Other,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct RepoOp {
pub action: String,
pub cid: Option<proto_blue_lex_data::Cid>,
pub path: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub prev: Option<proto_blue_lex_data::Cid>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct Sync {
pub blocks: Vec<u8>,
pub did: proto_blue_syntax::Did,
pub rev: String,
pub seq: i64,
pub time: proto_blue_syntax::Datetime,
}