fix(bootstrap,worker): pass shared federation_repo to ApFederationAdapter
This commit is contained in:
@@ -76,9 +76,10 @@ pub async fn build(cfg: &Config) -> Infrastructure {
|
||||
|
||||
// 3. ActivityPub federation
|
||||
let connections_repo = Arc::new(PgRemoteActorConnectionRepository::new(pool.clone()));
|
||||
let federation_repo = Arc::new(PostgresFederationRepository::new(pool.clone()));
|
||||
let raw_ap_service = Arc::new(
|
||||
ActivityPubService::builder(
|
||||
Arc::new(PostgresFederationRepository::new(pool.clone())),
|
||||
federation_repo.clone(),
|
||||
Arc::new(PostgresApUserRepository::new(
|
||||
pool.clone(),
|
||||
cfg.base_url.clone(),
|
||||
@@ -98,7 +99,11 @@ pub async fn build(cfg: &Config) -> Infrastructure {
|
||||
.await
|
||||
.expect("Failed to build ActivityPubService"),
|
||||
);
|
||||
let ap_service = Arc::new(ApFederationAdapter::new(raw_ap_service, connections_repo));
|
||||
let ap_service = Arc::new(ApFederationAdapter::new(
|
||||
raw_ap_service,
|
||||
connections_repo,
|
||||
federation_repo,
|
||||
));
|
||||
|
||||
// 4. Storage adapter
|
||||
let storage_cfg = StorageConfig {
|
||||
|
||||
@@ -40,9 +40,10 @@ pub async fn build(database_url: &str, base_url: &str, nats_url: &str) -> Worker
|
||||
|
||||
// ActivityPub service (for federation fan-out)
|
||||
let connections_repo_worker = Arc::new(PgRemoteActorConnectionRepository::new(pool.clone()));
|
||||
let federation_repo_worker = Arc::new(PostgresFederationRepository::new(pool.clone()));
|
||||
let raw_ap_service = Arc::new(
|
||||
ActivityPubService::builder(
|
||||
Arc::new(PostgresFederationRepository::new(pool.clone())),
|
||||
federation_repo_worker.clone(),
|
||||
Arc::new(PostgresApUserRepository::new(
|
||||
pool.clone(),
|
||||
base_url.to_string(),
|
||||
@@ -63,6 +64,7 @@ pub async fn build(database_url: &str, base_url: &str, nats_url: &str) -> Worker
|
||||
let ap_service = Arc::new(ApFederationAdapter::new(
|
||||
raw_ap_service,
|
||||
connections_repo_worker,
|
||||
federation_repo_worker,
|
||||
));
|
||||
let ap_outbound = ap_service.clone() as Arc<dyn OutboundFederationPort>;
|
||||
let ap_repo_worker =
|
||||
|
||||
Reference in New Issue
Block a user