Files
k-ap/Cargo.toml
Gabriel Kaszewski df6ff4c1e8 refactor!: CQRS repository split — v0.3.0
FederationRepository (34 methods) → 4 focused traits:
  ActivityRepository  (2)  — idempotency tracking
  FollowRepository    (18) — follower/following graph + migration
  ActorRepository     (6)  — keypairs, remote actor cache, announce tracking
  BlocklistRepository (8)  — domain + actor blocklists

ApObjectHandler (10 methods) → 2 traits:
  ApContentReader  (3) — get_local_objects_for_user/page, count_local_posts
  ApObjectHandler  (9) — all inbox callbacks (on_create, on_mention, etc.)

Builder changes from positional args to named setters:
  ActivityPubService::builder(base_url)
    .activity_repo(arc)
    .follow_repo(arc)
    .actor_repo(arc)
    .blocklist_repo(arc)
    .user_repo(arc)
    .content_reader(arc)
    .object_handler(arc)
    .build()

No behaviour changes.
2026-05-29 01:47:23 +02:00

25 lines
917 B
TOML

[package]
name = "k-ap"
version = "0.3.0"
edition = "2024"
description = "Generic ActivityPub protocol layer"
license = "MIT"
publish = ["gitea"]
[dependencies]
tokio = { version = "1.0", features = ["macros", "net", "rt", "rt-multi-thread", "sync", "time"] }
futures = "0.3"
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
uuid = { version = "1.0", features = ["v4", "v5", "serde"] }
chrono = { version = "0.4", features = ["serde"] }
anyhow = "1.0"
tracing = "0.1"
async-trait = "0.1"
axum = { version = "0.8", features = ["macros"] }
reqwest = { version = "0.13", features = ["json"] }
url = { version = "2", features = ["serde"] }
enum_delegate = "0.2"
activitypub_federation = "0.7.0-beta.11"
zeroize = { version = "1", features = ["derive"] }