Rust wrapper for the ATProto tap utility

Use record types from the generated files

+7 -7
+7 -7
standard-site-sync/src/main.rs
··· 48 48 let config = TapConfig::builder() 49 49 .database_url("sqlite://./tap-example.db") 50 50 .bind(":2480") 51 - .signal_collection("site.standard.document") 51 + .signal_collection(Document::nsid()) 52 52 .collection_filters(vec![ 53 - "site.standard.publication".to_string(), 54 - "site.standard.document".to_string(), 53 + Publication::nsid().to_string(), 54 + Document::nsid().to_string(), 55 55 ]) 56 56 .disable_acks(false) 57 57 .inherit_stdio(true) ··· 139 139 140 140 match event.action { 141 141 RecordAction::Create | RecordAction::Update => match event.collection.as_str() { 142 - "site.standard.publication" => { 142 + c if c == Publication::nsid() => { 143 143 if let Some(json) = event.record_as_str() { 144 144 match serde_json::from_str::<Publication<'_>>(json) { 145 145 Ok(publication) => { ··· 171 171 } 172 172 } 173 173 } 174 - "site.standard.document" => { 174 + c if c == Document::nsid() => { 175 175 if let Some(json) = event.record_as_str() { 176 176 match serde_json::from_str::<Document<'_>>(json) { 177 177 Ok(document) => { ··· 202 202 _ => {} 203 203 }, 204 204 RecordAction::Delete => match event.collection.as_str() { 205 - "site.standard.publication" => { 205 + c if c == Publication::nsid() => { 206 206 cache.publications.remove(&at_uri); 207 207 } 208 - "site.standard.document" => { 208 + c if c == Document::nsid() => { 209 209 cache.documents.remove(&at_uri); 210 210 } 211 211 _ => {}