Something went wrong. Try again.
A personal app view to see Bsky posts of your followers (for when their app view goes down)
Something went wrong. Try again.
975 B · 32 lines
Rust
at main
123456789101112131415161718192021222324252627282930313233use jacquard::deps::fluent_uri::Uri;use jacquard::types::string::RecordKey;use jacquard::xrpc::XrpcExt;use jacquard_api::com_atproto::repo::get_record::GetRecord;use jacquard_api::com_atproto::repo::get_record::GetRecordOutput;use std::str::FromStr;
pub async fn get_post_from_pds( did: String, pds_endpoint: String, rkey: String,) -> anyhow::Result<GetRecordOutput<'static>> { let rkey = RecordKey::from_str(&rkey).map_err(|err| { println!("parsing rkey: {err}"); err })?; let req = GetRecord::new() .repo(did.clone()) .collection("app.bsky.feed.post".to_string()) .rkey(rkey) .build();
let http = reqwest::Client::new(); let base = Uri::parse(pds_endpoint) .to_owned() .map_err(|_| anyhow::Error::msg("parsing pds endpoint {pds_endpoint}"))?;
let response = http.xrpc(base.to_owned()).send(&req).await?; let record = response.into_output()?;
Ok(record)}