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
|
// 3. ActivityPub federation
|
||||||
let connections_repo = Arc::new(PgRemoteActorConnectionRepository::new(pool.clone()));
|
let connections_repo = Arc::new(PgRemoteActorConnectionRepository::new(pool.clone()));
|
||||||
|
let federation_repo = Arc::new(PostgresFederationRepository::new(pool.clone()));
|
||||||
let raw_ap_service = Arc::new(
|
let raw_ap_service = Arc::new(
|
||||||
ActivityPubService::builder(
|
ActivityPubService::builder(
|
||||||
Arc::new(PostgresFederationRepository::new(pool.clone())),
|
federation_repo.clone(),
|
||||||
Arc::new(PostgresApUserRepository::new(
|
Arc::new(PostgresApUserRepository::new(
|
||||||
pool.clone(),
|
pool.clone(),
|
||||||
cfg.base_url.clone(),
|
cfg.base_url.clone(),
|
||||||
@@ -98,7 +99,11 @@ pub async fn build(cfg: &Config) -> Infrastructure {
|
|||||||
.await
|
.await
|
||||||
.expect("Failed to build ActivityPubService"),
|
.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
|
// 4. Storage adapter
|
||||||
let storage_cfg = StorageConfig {
|
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)
|
// ActivityPub service (for federation fan-out)
|
||||||
let connections_repo_worker = Arc::new(PgRemoteActorConnectionRepository::new(pool.clone()));
|
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(
|
let raw_ap_service = Arc::new(
|
||||||
ActivityPubService::builder(
|
ActivityPubService::builder(
|
||||||
Arc::new(PostgresFederationRepository::new(pool.clone())),
|
federation_repo_worker.clone(),
|
||||||
Arc::new(PostgresApUserRepository::new(
|
Arc::new(PostgresApUserRepository::new(
|
||||||
pool.clone(),
|
pool.clone(),
|
||||||
base_url.to_string(),
|
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(
|
let ap_service = Arc::new(ApFederationAdapter::new(
|
||||||
raw_ap_service,
|
raw_ap_service,
|
||||||
connections_repo_worker,
|
connections_repo_worker,
|
||||||
|
federation_repo_worker,
|
||||||
));
|
));
|
||||||
let ap_outbound = ap_service.clone() as Arc<dyn OutboundFederationPort>;
|
let ap_outbound = ap_service.clone() as Arc<dyn OutboundFederationPort>;
|
||||||
let ap_repo_worker =
|
let ap_repo_worker =
|
||||||
|
|||||||
Reference in New Issue
Block a user