diff options
-rw-r--r-- | adenosine-pds/src/db_bsky.rs | 20 | ||||
-rw-r--r-- | adenosine-pds/templates/thread.html | 19 |
2 files changed, 26 insertions, 13 deletions
diff --git a/adenosine-pds/src/db_bsky.rs b/adenosine-pds/src/db_bsky.rs index 5e968af..c51979e 100644 --- a/adenosine-pds/src/db_bsky.rs +++ b/adenosine-pds/src/db_bsky.rs @@ -218,7 +218,6 @@ fn feed_row_to_item(srv: &mut AtpService, row: FeedRow) -> Result<app_bsky::Feed avatar: None, viewer: None, }, - repostedBy: None, record: post_record, embed: None, replyCount: reply_count, @@ -337,45 +336,49 @@ pub fn bsky_get_thread( for row in rows { let item = feed_row_to_item(srv, row)?.post; children.push(app_bsky::ThreadPostView { - post: app_bsky::PostView { + post: Some(app_bsky::PostView { uri: item.uri, cid: item.cid, author: item.author, record: item.record, embed: item.embed, - repostedBy: None, replyCount: item.replyCount, upvoteCount: item.upvoteCount, downvoteCount: 0, repostCount: item.repostCount, indexedAt: item.indexedAt, viewer: None, - }, + }), // don't want a loop here parent: None, // only going to depth of one here replies: None, + // for "notfound" + uri: None, + notFound: None, }); } let pip = post_item.post; let post = app_bsky::ThreadPostView { - post: app_bsky::PostView { + post: Some(app_bsky::PostView { uri: pip.uri, cid: pip.cid, author: pip.author, record: pip.record, embed: pip.embed, - repostedBy: None, replyCount: pip.replyCount, upvoteCount: pip.upvoteCount, downvoteCount: 0, repostCount: pip.repostCount, indexedAt: pip.indexedAt, viewer: None, - }, + }), parent, replies: Some(children), + // for "notfound" variant + uri: None, + notFound: None, }; Ok(app_bsky::PostThread { thread: post }) } @@ -614,7 +617,6 @@ fn test_bsky_feeds() { // TODO: CID assert_eq!(alice_feed.feed[2].post.author.did, alice_did.to_string()); assert_eq!(alice_feed.feed[2].post.author.handle, "alice.test"); - assert_eq!(alice_feed.feed[2].post.repostedBy, None); assert_eq!(alice_feed.feed[2].post.record.text, "alice first post"); assert_eq!(alice_feed.feed[2].post.embed, None); assert_eq!(alice_feed.feed[2].post.replyCount, 0); @@ -657,8 +659,6 @@ fn test_bsky_feeds() { // TODO: CID assert_eq!(bob_feed.feed[1].author.did, alice_did.to_string()); assert_eq!(bob_feed.feed[1].author.handle, "alice.test"); - assert_eq!(bob_feed.feed[1].repostedBy.as_ref().unwrap().did, bob_did.to_string()); - assert_eq!(bob_feed.feed[1].repostedBy.as_ref().unwrap().handle, "bob.test"); // TODO: "is a repost" (check record?) */ diff --git a/adenosine-pds/templates/thread.html b/adenosine-pds/templates/thread.html index c0a8684..9a3f935 100644 --- a/adenosine-pds/templates/thread.html +++ b/adenosine-pds/templates/thread.html @@ -4,16 +4,29 @@ {% block main %} {% if post.parent.is_some() %} - {% call macro::feed_item(post.parent.as_ref().unwrap().post) %} + {% let parent = post.parent.as_ref().unwrap() %} + {% if parent.post.is_some() %} + {% call macro::feed_item(parent.post.as_ref().unwrap()) %} + {% else %} + <p>Post not found! + {% endif %} <center><i>---</i></center> {% endif %} -{% call macro::feed_item(post.post) %} +{% if post.post.is_some() %} + {% call macro::feed_item(post.post.as_ref().unwrap()) %} +{% else %} + <p>Post not found! +{% endif %} {% if post.replies.is_some() && post.replies.as_ref().unwrap().len() > 0 %} <center><i>--- replies ---</i></center> {% for item in post.replies.as_ref().unwrap() %} - {% call macro::feed_item(item.post) %} + {% if item.post.is_some() %} + {% call macro::feed_item(item.post.as_ref().unwrap()) %} + {% else %} + <p>Post not found! + {% endif %} {% endfor %} {% endif %} |