diff options
Diffstat (limited to 'adenosine-pds')
-rw-r--r-- | adenosine-pds/src/bin/adenosine-pds.rs | 10 | ||||
-rw-r--r-- | adenosine-pds/src/bsky.rs | 18 | ||||
-rw-r--r-- | adenosine-pds/src/car.rs | 2 | ||||
-rw-r--r-- | adenosine-pds/src/crypto.rs | 8 | ||||
-rw-r--r-- | adenosine-pds/src/db.rs | 2 | ||||
-rw-r--r-- | adenosine-pds/src/did.rs | 4 | ||||
-rw-r--r-- | adenosine-pds/src/lib.rs | 20 | ||||
-rw-r--r-- | adenosine-pds/src/mst.rs | 4 | ||||
-rw-r--r-- | adenosine-pds/src/repo.rs | 14 | ||||
-rw-r--r-- | adenosine-pds/src/web.rs | 1 |
10 files changed, 41 insertions, 42 deletions
diff --git a/adenosine-pds/src/bin/adenosine-pds.rs b/adenosine-pds/src/bin/adenosine-pds.rs index 3379841..1fef557 100644 --- a/adenosine-pds/src/bin/adenosine-pds.rs +++ b/adenosine-pds/src/bin/adenosine-pds.rs @@ -208,14 +208,16 @@ fn main() -> Result<()> { did_plc, } => { let req = AccountRequest { - email: email, + email, handle: handle.clone(), - password: password, + password, inviteCode: None, recoveryKey: recovery_key, }; - let mut config = AtpServiceConfig::default(); - config.public_url = public_url.unwrap_or(format!("https://{}", handle)); + let config = AtpServiceConfig { + public_url: public_url.unwrap_or(format!("https://{}", handle)), + ..Default::default() + }; let keypair = KeyPair::from_hex(&pds_secret_key)?; let mut srv = AtpService::new(&opt.blockstore_db_path, &opt.atp_db_path, keypair, config)?; diff --git a/adenosine-pds/src/bsky.rs b/adenosine-pds/src/bsky.rs index 958c2ae..89978fb 100644 --- a/adenosine-pds/src/bsky.rs +++ b/adenosine-pds/src/bsky.rs @@ -63,7 +63,7 @@ pub fn bsky_mutate_db(db: &mut AtpDatabase, did: &Did, mutations: Vec<Mutation>) pub fn bsky_get_profile(srv: &mut AtpService, did: &Did) -> Result<Profile> { // first get the profile record let mut profile_cid: Option<Cid> = None; - let commit_cid = &srv.repo.lookup_commit(&did)?.unwrap(); + let commit_cid = &srv.repo.lookup_commit(did)?.unwrap(); let last_commit = srv.repo.get_commit(commit_cid)?; let full_map = srv.repo.mst_to_map(&last_commit.mst_cid)?; let prefix = "/app.bsky.actor.profile/"; @@ -102,9 +102,9 @@ pub fn bsky_get_profile(srv: &mut AtpService, did: &Did) -> Result<Profile> { let followers_count: u64 = stmt.query_row(params!(did.to_string()), |row| row.get(0))?; Ok(Profile { did: did.to_string(), - handle: handle, + handle, displayName: display_name, - description: description, + description, followersCount: followers_count, followsCount: follows_count, postsCount: post_count, @@ -115,7 +115,7 @@ pub fn bsky_get_profile(srv: &mut AtpService, did: &Did) -> Result<Profile> { pub fn bsky_update_profile(srv: &mut AtpService, did: &Did, profile: ProfileRecord) -> Result<()> { // get the profile record let mut profile_tid: Option<Tid> = None; - let commit_cid = &srv.repo.lookup_commit(&did)?.unwrap(); + let commit_cid = &srv.repo.lookup_commit(did)?.unwrap(); let last_commit = srv.repo.get_commit(commit_cid)?; let full_map = srv.repo.mst_to_map(&last_commit.mst_cid)?; let prefix = "/app.bsky.actor.profile/"; @@ -131,7 +131,7 @@ pub fn bsky_update_profile(srv: &mut AtpService, did: &Did, profile: ProfileReco json_value_into_ipld(serde_json::to_value(profile)?), )]; let keypair = srv.pds_keypair.clone(); - srv.repo.mutate_repo(&did, &mutations, &keypair)?; + srv.repo.mutate_repo(did, &mutations, &keypair)?; Ok(()) } @@ -185,7 +185,7 @@ fn feed_row_to_item(srv: &mut AtpService, row: FeedRow) -> Result<FeedItem> { let reply_count: u64 = stmt.query_row(params!(uri), |row| row.get(0))?; let feed_item = FeedItem { - uri: uri, + uri, cid: Some(row.item_post_cid.to_string()), author: User { did: row.item_did.to_string(), @@ -264,7 +264,7 @@ pub fn bsky_get_thread( Err(anyhow!("expected a post collection in uri: {}", uri))?; }; let tid = match uri.record { - Some(ref tid) => Tid::from_str(&tid)?, + Some(ref tid) => Tid::from_str(tid)?, _ => Err(anyhow!("expected a record in uri: {}", uri))?, }; @@ -284,7 +284,7 @@ pub fn bsky_get_thread( if post_items.is_empty() { Err(XrpcError::NotFound("post not found".to_string()))?; }; - let post_item = feed_row_to_item(srv, post_items.into_iter().nth(0).unwrap())?; + let post_item = feed_row_to_item(srv, post_items.into_iter().next().unwrap())?; // TODO: any parent let parent = None; @@ -329,7 +329,7 @@ pub fn bsky_get_thread( author: post_item.author, record: post_item.record, embed: post_item.embed, - parent: parent, + parent, replyCount: post_item.replyCount, replies: Some(children), likeCount: post_item.likeCount, diff --git a/adenosine-pds/src/car.rs b/adenosine-pds/src/car.rs index 832c87e..22f83bc 100644 --- a/adenosine-pds/src/car.rs +++ b/adenosine-pds/src/car.rs @@ -87,7 +87,7 @@ async fn inner_car_bytes_reader( db: &mut BlockStore<libipld::DefaultParams>, root: &Cid, ) -> Result<Vec<u8>> { - let car_header = CarHeader::new_v1(vec![root.clone()]); + let car_header = CarHeader::new_v1(vec![*root]); let buf: Vec<u8> = Default::default(); let mut car_writer = CarWriter::new(car_header, buf); diff --git a/adenosine-pds/src/crypto.rs b/adenosine-pds/src/crypto.rs index d1a864e..e10401a 100644 --- a/adenosine-pds/src/crypto.rs +++ b/adenosine-pds/src/crypto.rs @@ -76,16 +76,14 @@ impl KeyPair { } pub fn from_hex(hex: &str) -> Result<Self> { - Ok(Self::from_bytes( - &data_encoding::HEXUPPER.decode(hex.as_bytes())?, - )?) + Self::from_bytes(&data_encoding::HEXUPPER.decode(hex.as_bytes())?) } } async fn build_ucan(key_material: P256KeyMaterial, did: &Did) -> Result<String> { let token_string = UcanBuilder::default() .issued_by(&key_material) - .for_audience(&did.to_string()) + .for_audience(did) .with_nonce() .with_lifetime(60 * 60 * 24 * 90) .build()? @@ -136,7 +134,7 @@ impl PubKey { bytes.extend_from_slice(&key.to_bytes()); } } - format!("{}", multibase::encode(multibase::Base::Base58Btc, &bytes)) + multibase::encode(multibase::Base::Base58Btc, &bytes) } /// Serializes as a 'did:key' string. diff --git a/adenosine-pds/src/db.rs b/adenosine-pds/src/db.rs index b94689a..b694bb5 100644 --- a/adenosine-pds/src/db.rs +++ b/adenosine-pds/src/db.rs @@ -207,7 +207,7 @@ impl AtpDatabase { reply_to_parent_uri, reply_to_root_uri, serde_json::to_string(&post)?, - post.createdAt.unwrap_or_else(|| created_at_now()) + post.createdAt.unwrap_or_else(created_at_now) ))?; } else { let mut stmt = self diff --git a/adenosine-pds/src/did.rs b/adenosine-pds/src/did.rs index 74e4f68..88fa5b8 100644 --- a/adenosine-pds/src/did.rs +++ b/adenosine-pds/src/did.rs @@ -41,7 +41,7 @@ impl UnsignedCreateOp { CreateOp { op_type: self.op_type, prev: self.prev, - sig: sig, + sig, signingKey: self.signingKey, recoveryKey: self.recoveryKey, username: self.username, @@ -64,7 +64,7 @@ impl CreateOp { prev: None, signingKey: signing_key, recoveryKey: recovery_key, - username: username, + username, service: atp_pds, }; let block = Block::<DefaultParams>::encode(DagCborCodec, Code::Sha2_256, &unsigned) diff --git a/adenosine-pds/src/lib.rs b/adenosine-pds/src/lib.rs index a7cb4ae..6a3a8cb 100644 --- a/adenosine-pds/src/lib.rs +++ b/adenosine-pds/src/lib.rs @@ -433,7 +433,7 @@ fn xrpc_get_handler( name: did.to_string(), // TODO: handle? did: did.to_string(), didDoc: did_doc, - collections: collections, + collections, nameIsCorrect: true, }; Ok(json!(desc)) @@ -454,7 +454,7 @@ fn xrpc_get_handler( "app.bsky.feed.getTimeline" => { let mut srv = srv.lock().unwrap(); let auth_did = &xrpc_check_auth_header(&mut srv, request, None)?; - Ok(json!(bsky_get_timeline(&mut srv, &auth_did)?)) + Ok(json!(bsky_get_timeline(&mut srv, auth_did)?)) } "app.bsky.feed.getPostThread" => { let uri = AtUri::from_str(&xrpc_required_param(request, "uri")?)?; @@ -473,7 +473,7 @@ fn xrpc_get_repo_handler(srv: &Mutex<AtpService>, request: &Request) -> Result<V let mut srv = srv.lock().or(Err(XrpcError::MutexPoisoned))?; // TODO: don't unwrap here let commit_cid = srv.repo.lookup_commit(&did)?.unwrap(); - Ok(srv.repo.export_car(&commit_cid, None)?) + srv.repo.export_car(&commit_cid, None) } pub fn create_account( @@ -704,7 +704,7 @@ fn xrpc_post_handler( let profile: ProfileRecord = rouille::input::json_input(request)?; let mut srv = srv.lock().unwrap(); let auth_did = &xrpc_check_auth_header(&mut srv, request, None)?; - bsky_update_profile(&mut srv, &auth_did, profile)?; + bsky_update_profile(&mut srv, auth_did, profile)?; Ok(json!({})) } _ => Err(anyhow!(XrpcError::NotFound(format!( @@ -724,7 +724,7 @@ fn home_view_handler(srv: &Mutex<AtpService>, request: &Request) -> Result<Strin srv.atp_db.resolve_handle(host)? }; if did.is_some() { - account_view_handler(&srv, &host, request) + account_view_handler(srv, host, request) } else { let view = GenericHomeView { domain: host.to_string(), @@ -810,14 +810,14 @@ fn repo_view_handler(srv: &Mutex<AtpService>, did: &str, request: &Request) -> R name: did.to_string(), // TODO did: did.to_string(), didDoc: did_doc, - collections: collections, + collections, nameIsCorrect: true, }; Ok(RepoView { domain: host.to_string(), - did: did, - commit: commit, + did, + commit, describe: desc, } .render()?) @@ -854,8 +854,8 @@ fn collection_view_handler( Ok(CollectionView { domain: host.to_string(), - did: did, - collection: collection, + did, + collection, records: record_list, } .render()?) diff --git a/adenosine-pds/src/mst.rs b/adenosine-pds/src/mst.rs index 969f584..9c4fe69 100644 --- a/adenosine-pds/src/mst.rs +++ b/adenosine-pds/src/mst.rs @@ -162,8 +162,8 @@ pub fn collect_mst_keys( fn leading_zeros(key: &str) -> u8 { let digest = sha256::digest(key); let digest = digest.as_bytes(); - for i in 0..digest.len() { - if digest[i] != b'0' { + for (i, c) in digest.iter().enumerate() { + if *c != b'0' { return i as u8; } } diff --git a/adenosine-pds/src/repo.rs b/adenosine-pds/src/repo.rs index fd75432..56c068f 100644 --- a/adenosine-pds/src/repo.rs +++ b/adenosine-pds/src/repo.rs @@ -76,7 +76,7 @@ impl RepoStore { pub fn get_ipld(&mut self, cid: &Cid) -> Result<Ipld> { if let Some(b) = self.db.get_block(cid)? { - let block: Block<DefaultParams> = Block::new(cid.clone(), b)?; + let block: Block<DefaultParams> = Block::new(*cid, b)?; block.ipld() } else { Err(anyhow!("missing IPLD CID: {}", cid)) @@ -150,8 +150,8 @@ impl RepoStore { ); Ok(RepoCommit { sig: commit_node.sig, - commit_cid: commit_cid.clone(), - root_cid: commit_node.root.clone(), + commit_cid: *commit_cid, + root_cid: commit_node.root, meta_cid: root_node.meta, did: Did::from_str(&metadata_node.did)?, prev: root_node.prev, @@ -162,7 +162,7 @@ impl RepoStore { pub fn get_mst_record_by_key(&mut self, mst_cid: &Cid, key: &str) -> Result<Option<Ipld>> { let map = self.mst_to_map(mst_cid)?; if let Some(cid) = map.get(key) { - self.get_ipld(&cid).map(|v| Some(v)) + self.get_ipld(cid).map(Some) } else { Ok(None) } @@ -269,7 +269,7 @@ impl RepoStore { let commit_cid = self.lookup_commit(did)?.unwrap(); let last_commit = self.get_commit(&commit_cid)?; let new_mst_cid = self - .update_mst(&last_commit.mst_cid, &mutations) + .update_mst(&last_commit.mst_cid, mutations) .context("updating MST in repo")?; let new_root_cid = self.write_root( last_commit.meta_cid, @@ -278,7 +278,7 @@ impl RepoStore { )?; // TODO: is this how signatures are supposed to work? let sig = signing_key.sign_bytes(new_root_cid.to_string().as_bytes()); - self.write_commit(&did, new_root_cid, &sig) + self.write_commit(did, new_root_cid, &sig) } /// Reads in a full MST tree starting at a repo commit, then re-builds and re-writes the tree @@ -347,7 +347,7 @@ impl RepoStore { _from_commit_cid: Option<&Cid>, ) -> Result<Vec<u8>> { // TODO: from_commit_cid - read_car_bytes_from_blockstore(&mut self.db, &commit_cid) + read_car_bytes_from_blockstore(&mut self.db, commit_cid) } } diff --git a/adenosine-pds/src/web.rs b/adenosine-pds/src/web.rs index 98af87e..66ea4ce 100644 --- a/adenosine-pds/src/web.rs +++ b/adenosine-pds/src/web.rs @@ -2,7 +2,6 @@ use crate::models::*; use crate::repo::RepoCommit; use adenosine_cli::identifiers::{Did, Nsid, Tid}; use askama::Template; -use serde_json; #[derive(Template)] #[template(path = "error.html")] |