SocialCommand methods take events. Local follow ops = one FollowCommand::apply tx (rows + events). k_ap path (remote, block/unblock): best-effort publish in CompositeSocialAdapter after k_ap write; not atomic, k_ap owns tx. save_remote_review takes events, enqueued in same tx via sqlite::persistence::enqueue_events. Deps drop event_publisher: social command, ReviewObjectHandler. Remaining .publish( sites: announce-only: users/delete_account UserDeleted, person/get + get_credits PersonEnrichmentRequested, jobs/enrichment_staleness, http-axum search, ImageStored (sync_poster, poster_sync_handler, image-converter backfill, update_profile; object storage), federation_event_bridge (handler reaction), nats relay (transport). non-atomic by necessity: CompositeSocialAdapter::announce (k_ap-owned write). Everything else rides its write.
23 lines
592 B
TOML
23 lines
592 B
TOML
[package]
|
|
name = "sqlite-federation"
|
|
version = "0.1.0"
|
|
edition.workspace = true
|
|
|
|
[dependencies]
|
|
sqlx = { workspace = true }
|
|
activitypub = { workspace = true }
|
|
k-ap = { version = "0.5.0", registry = "gitea" }
|
|
sqlite = { workspace = true }
|
|
domain = { workspace = true }
|
|
anyhow = { workspace = true }
|
|
serde_json = { workspace = true }
|
|
uuid = { workspace = true }
|
|
chrono = { workspace = true }
|
|
tracing = { workspace = true }
|
|
async-trait = { workspace = true }
|
|
|
|
[dev-dependencies]
|
|
tokio = { workspace = true }
|
|
domain = { workspace = true, features = ["test-helpers"] }
|
|
uuid = { workspace = true }
|