A better Rust ATProto crate
1// @generated by jacquard-lexicon. DO NOT EDIT. 2// 3// Lexicon: network.slices.slice.defs 4// 5// This file was automatically generated from Lexicon schemas. 6// Any manual changes will be overwritten on the next regeneration. 7 8pub mod clear_slice_records; 9pub mod create_o_auth_client; 10pub mod delete_o_auth_client; 11pub mod get_actors; 12pub mod get_jetstream_logs; 13pub mod get_jetstream_status; 14pub mod get_job_logs; 15pub mod get_job_status; 16pub mod get_o_auth_clients; 17pub mod get_slice_records; 18pub mod get_sparklines; 19pub mod get_sync_summary; 20pub mod start_sync; 21pub mod stats; 22pub mod sync_user_collections; 23pub mod update_o_auth_client; 24 25#[jacquard_derive::lexicon] 26#[derive( 27 serde::Serialize, 28 serde::Deserialize, 29 Debug, 30 Clone, 31 PartialEq, 32 Eq, 33 jacquard_derive::IntoStatic, 34 bon::Builder 35)] 36#[serde(rename_all = "camelCase")] 37pub struct Slice<'a> { 38 /// When the slice was created 39 pub created_at: jacquard_common::types::string::Datetime, 40 /// Primary domain namespace for this slice (e.g. social.grain) 41 #[serde(borrow)] 42 #[builder(into)] 43 pub domain: jacquard_common::CowStr<'a>, 44 /// Name of the slice 45 #[serde(borrow)] 46 #[builder(into)] 47 pub name: jacquard_common::CowStr<'a>, 48} 49 50/// Typed wrapper for GetRecord response with this collection's record type. 51#[derive( 52 serde::Serialize, 53 serde::Deserialize, 54 Debug, 55 Clone, 56 PartialEq, 57 Eq, 58 jacquard_derive::IntoStatic 59)] 60#[serde(rename_all = "camelCase")] 61pub struct SliceGetRecordOutput<'a> { 62 #[serde(skip_serializing_if = "std::option::Option::is_none")] 63 #[serde(borrow)] 64 pub cid: std::option::Option<jacquard_common::types::string::Cid<'a>>, 65 #[serde(borrow)] 66 pub uri: jacquard_common::types::string::AtUri<'a>, 67 #[serde(borrow)] 68 pub value: Slice<'a>, 69} 70 71/// Marker type for deserializing records from this collection. 72pub struct SliceRecord; 73impl jacquard_common::xrpc::XrpcResp for SliceRecord { 74 const NSID: &'static str = "network.slices.slice"; 75 const ENCODING: &'static str = "application/json"; 76 type Output<'de> = SliceGetRecordOutput<'de>; 77 type Err<'de> = jacquard_common::types::collection::RecordError<'de>; 78} 79 80impl jacquard_common::types::collection::Collection for Slice<'_> { 81 const NSID: &'static str = "network.slices.slice"; 82 type Record = SliceRecord; 83} 84 85impl From<SliceGetRecordOutput<'_>> for Slice<'_> { 86 fn from(output: SliceGetRecordOutput<'_>) -> Self { 87 use jacquard_common::IntoStatic; 88 output.value.into_static() 89 } 90} 91 92#[jacquard_derive::lexicon] 93#[derive( 94 serde::Serialize, 95 serde::Deserialize, 96 Debug, 97 Clone, 98 PartialEq, 99 Eq, 100 jacquard_derive::IntoStatic, 101 bon::Builder 102)] 103#[serde(rename_all = "camelCase")] 104pub struct SliceView<'a> { 105 #[serde(borrow)] 106 pub cid: jacquard_common::types::string::Cid<'a>, 107 pub created_at: jacquard_common::types::string::Datetime, 108 /// Profile of the slice creator 109 #[serde(borrow)] 110 pub creator: crate::network_slices::actor::ProfileViewBasic<'a>, 111 /// Primary domain namespace for this slice (e.g. social.grain) 112 #[serde(borrow)] 113 #[builder(into)] 114 pub domain: jacquard_common::CowStr<'a>, 115 /// Total number of unique indexed actors in this slice 116 #[serde(skip_serializing_if = "std::option::Option::is_none")] 117 #[builder(into)] 118 pub indexed_actor_count: Option<i64>, 119 /// Number of collections with indexed records 120 #[serde(skip_serializing_if = "std::option::Option::is_none")] 121 #[builder(into)] 122 pub indexed_collection_count: Option<i64>, 123 /// Total number of indexed records in this slice 124 #[serde(skip_serializing_if = "std::option::Option::is_none")] 125 #[builder(into)] 126 pub indexed_record_count: Option<i64>, 127 /// Display name of the slice 128 #[serde(borrow)] 129 #[builder(into)] 130 pub name: jacquard_common::CowStr<'a>, 131 /// Recent activity sparkline data points for the last 24 hours 132 #[serde(skip_serializing_if = "std::option::Option::is_none")] 133 #[builder(into)] 134 #[serde(borrow)] 135 pub sparkline: Option<Vec<crate::network_slices::slice::SparklinePoint<'a>>>, 136 #[serde(borrow)] 137 pub uri: jacquard_common::types::string::AtUri<'a>, 138 /// Total number of waitlist invites for this slice 139 #[serde(skip_serializing_if = "std::option::Option::is_none")] 140 #[builder(into)] 141 pub waitlist_invite_count: Option<i64>, 142 /// Total number of waitlist requests for this slice 143 #[serde(skip_serializing_if = "std::option::Option::is_none")] 144 #[builder(into)] 145 pub waitlist_request_count: Option<i64>, 146} 147 148#[jacquard_derive::lexicon] 149#[derive( 150 serde::Serialize, 151 serde::Deserialize, 152 Debug, 153 Clone, 154 PartialEq, 155 Eq, 156 jacquard_derive::IntoStatic, 157 bon::Builder 158)] 159#[serde(rename_all = "camelCase")] 160pub struct SparklinePoint<'a> { 161 pub count: i64, 162 pub timestamp: jacquard_common::types::string::Datetime, 163}