Parakeet is a Rust-based Bluesky AppServer aiming to implement most of the functionality required to support the Bluesky client
appview atproto bluesky rust appserver
66
fork

Configure Feed

Select the types of activity you want to include in your feed.

chore(parakeet): TODO the bulk of the remaining xrpc functions

Mia 0832a3f9 4766bf0f

+23 -2
+23 -2
parakeet/src/xrpc/app_bsky/mod.rs
··· 11 11 Router::new() 12 12 .route("/app.bsky.actor.getProfile", get(actor::get_profile)) 13 13 .route("/app.bsky.actor.getProfiles", get(actor::get_profiles)) 14 + // TODO: app.bsky.actor.getSuggestions (recs) 15 + // TODO: app.bsky.actor.searchActor (search) 16 + // TODO: app.bsky.actor.searchActorTypeahead (search) 14 17 .route("/app.bsky.feed.getActorFeeds", get(feed::feedgen::get_actor_feeds)) 15 18 .route("/app.bsky.feed.getActorLikes", get(feed::likes::get_actor_likes)) 16 19 .route("/app.bsky.feed.getAuthorFeed", get(feed::posts::get_author_feed)) 17 20 .route("/app.bsky.feed.getFeed", get(feed::posts::get_feed)) 21 + .route("/app.bsky.feed.getFeedGenerator", get(feed::feedgen::get_feed_generator)) 22 + .route("/app.bsky.feed.getFeedGenerators", get(feed::feedgen::get_feed_generators)) 18 23 .route("/app.bsky.feed.getLikes", get(feed::likes::get_likes)) 19 24 .route("/app.bsky.feed.getListFeed", get(feed::posts::get_list_feed)) 20 25 .route("/app.bsky.feed.getPostThread", get(feed::posts::get_post_thread)) 21 26 .route("/app.bsky.feed.getPosts", get(feed::posts::get_posts)) 22 27 .route("/app.bsky.feed.getQuotes", get(feed::posts::get_quotes)) 23 28 .route("/app.bsky.feed.getRepostedBy", get(feed::posts::get_reposted_by)) 24 - .route("/app.bsky.feed.getFeedGenerator", get(feed::feedgen::get_feed_generator)) 25 - .route("/app.bsky.feed.getFeedGenerators", get(feed::feedgen::get_feed_generators)) 29 + // TODO: app.bsky.feed.getSuggestedFeeds (recs) 30 + // TODO: app.bsky.feed.getTimeline (complicated) 31 + // TODO: app.bsky.feed.searchPosts (search) 26 32 .route("/app.bsky.graph.getActorStarterPacks", get(graph::starter_packs::get_actor_starter_packs)) 33 + // TODO: app.bsky.graph.getBlocks 27 34 .route("/app.bsky.graph.getFollowers", get(graph::relations::get_followers)) 28 35 .route("/app.bsky.graph.getFollows", get(graph::relations::get_follows)) 36 + // TODO: app.bsky.graph.getKnownFollowers 29 37 .route("/app.bsky.graph.getList", get(graph::lists::get_list)) 38 + // TODO: app.bsky.graph.getListBlocks 30 39 .route("/app.bsky.graph.getListMutes", get(graph::lists::get_list_mutes)) 31 40 .route("/app.bsky.graph.getLists", get(graph::lists::get_lists)) 32 41 .route("/app.bsky.graph.getMutes", get(graph::mutes::get_mutes)) 42 + // TODO: app.bsky.graph.getRelationships 33 43 .route("/app.bsky.graph.getStarterPack", get(graph::starter_packs::get_starter_pack)) 34 44 .route("/app.bsky.graph.getStarterPacks", get(graph::starter_packs::get_starter_packs)) 45 + // TODO: app.bsky.graph.getSuggestedFollows (recs) 35 46 .route("/app.bsky.graph.muteActor", post(graph::mutes::mute_actor)) 36 47 .route("/app.bsky.graph.muteActorList", post(graph::mutes::mute_actor_list)) 48 + // TODO: app.bsky.graph.muteThread (notifs) 49 + // TODO: app.bsky.graph.searchStarterPacks (search) 37 50 .route("/app.bsky.graph.unmuteActor", post(graph::mutes::unmute_actor)) 38 51 .route("/app.bsky.graph.unmuteActorList", post(graph::mutes::unmute_actor_list)) 52 + // TODO: app.bsky.graph.unmuteThread (notifs) 39 53 .route("/app.bsky.labeler.getServices", get(labeler::get_services)) 54 + // TODO: app.bsky.notification.getPreferences 55 + // TODO: app.bsky.notification.getUnreadCount 56 + // TODO: app.bsky.notification.listActivitySubscriptions 57 + // TODO: app.bsky.notification.listNotifications 58 + // TODO: app.bsky.notification.putActivitySubscriptions 59 + // TODO: app.bsky.notification.putPreferences 60 + // TODO: app.bsky.notification.putPreferencesV2 40 61 }