refactor(domain): remove FetchRemoteActorPosts/FetchActorConnections from DomainEvent; add FederationSchedulerPort

This commit is contained in:
2026-05-15 13:28:19 +02:00
parent e935c8973e
commit a902154777
13 changed files with 1310 additions and 233 deletions

View File

@@ -63,16 +63,6 @@ pub enum DomainEvent {
ProfileUpdated {
user_id: UserId,
},
FetchRemoteActorPosts {
actor_ap_url: String,
outbox_url: String,
},
FetchActorConnections {
actor_ap_url: String,
collection_url: String,
connection_type: String,
page: u32,
},
MentionReceived {
thought_id: ThoughtId,
mentioned_user_id: UserId,

View File

@@ -497,3 +497,20 @@ pub trait OutboundFederationPort: Send + Sync {
/// Fan out an Update(Actor) to all accepted followers after a profile change.
async fn broadcast_actor_update(&self, user_id: &UserId) -> Result<(), DomainError>;
}
#[async_trait]
pub trait FederationSchedulerPort: Send + Sync {
async fn schedule_actor_posts_fetch(
&self,
actor_ap_url: &str,
outbox_url: &str,
) -> Result<(), DomainError>;
async fn schedule_connections_fetch(
&self,
actor_ap_url: &str,
collection_url: &str,
connection_type: &str,
page: u32,
) -> Result<(), DomainError>;
}

View File

@@ -903,6 +903,22 @@ impl ActivityPubRepository for TestStore {
}
}
#[async_trait]
impl FederationSchedulerPort for TestStore {
async fn schedule_actor_posts_fetch(&self, _: &str, _: &str) -> Result<(), DomainError> {
Ok(())
}
async fn schedule_connections_fetch(
&self,
_: &str,
_: &str,
_: &str,
_: u32,
) -> Result<(), DomainError> {
Ok(())
}
}
#[async_trait]
impl EventPublisher for TestStore {
async fn publish(&self, event: &DomainEvent) -> Result<(), DomainError> {