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.
This commit is contained in:
@@ -33,8 +33,8 @@ async fn collection_handler(
|
||||
);
|
||||
|
||||
let total = match collection_type {
|
||||
"followers" => data.federation_repo.count_followers(user_id).await,
|
||||
_ => data.federation_repo.count_following(user_id).await,
|
||||
"followers" => data.follow_repo.count_followers(user_id).await,
|
||||
_ => data.follow_repo.count_following(user_id).await,
|
||||
}
|
||||
.map_err(Error::from)?;
|
||||
|
||||
@@ -44,7 +44,7 @@ async fn collection_handler(
|
||||
|
||||
let items: Vec<String> = match collection_type {
|
||||
"followers" => data
|
||||
.federation_repo
|
||||
.follow_repo
|
||||
.get_followers_page(user_id, offset as u32, AP_PAGE_SIZE)
|
||||
.await
|
||||
.map_err(Error::from)?
|
||||
@@ -52,7 +52,7 @@ async fn collection_handler(
|
||||
.map(|f| f.actor.url)
|
||||
.collect(),
|
||||
_ => data
|
||||
.federation_repo
|
||||
.follow_repo
|
||||
.get_following_page(user_id, offset as u32, AP_PAGE_SIZE)
|
||||
.await
|
||||
.map_err(Error::from)?
|
||||
|
||||
Reference in New Issue
Block a user