diff --git a/src/tap.rs b/src/tap.rs index 55d0dbb..8b95ace 100644 --- a/src/tap.rs +++ b/src/tap.rs @@ -154,17 +154,23 @@ async fn handle_post_event(record: &RecordEvent, pool: &sqlx::SqlitePool) { async fn handle_repost_event(record: &RecordEvent, pool: &sqlx::SqlitePool) { match record.action { RecordAction::Create => { - let tap_post: TapRepost = record.parse_record().unwrap(); // TODO: better error handling here + let tap_post: TapPost = record.parse_record().unwrap(); // TODO: better error handling here let cid: String = match record.cid.clone() { Some(x) => x.to_string(), None => "".to_string(), }; + + let subject: String = match tap_post.subject { + Some(x) => x.uri.clone().to_string(), + None => "".to_string(), + }; + let mut repost = RepostRecord { created: Utc::now(), indexed: Utc::now(), author: record.did.clone().to_string(), rkey: record.rkey.to_string(), - subject: tap_post.subject.uri, + subject: subject, cid: cid, }; @@ -213,13 +219,7 @@ async fn get_follow_by_rkey(rkey: &String, pool: &sqlx::SqlitePool) -> String { struct TapPost { #[serde(rename = "createdAt")] created_at: String, -} - -#[derive(Debug, Deserialize)] -struct TapRepost { - #[serde(rename = "createdAt")] - created_at: String, - subject: Subject, + subject: Option, } #[derive(Debug, Deserialize)]