Handlers

Contains the Wolverine message handlers that orchestrate Git operation commands.

CloneRepositoriesHandler

The CloneRepositoriesHandler is implemented as a static class, adhering to Wolverine’s optimized handler patterns. Dependency injection resolves IGitCloneService, IMessageBus, and ILogger directly at the method level.

Business Logic Intent

The core objective is to execute the command reliably while producing comprehensive telemetry.

  1. Delegation: It receives the CloneRepositoriesCommand and passes it entirely to IGitCloneService.CloneAllRepositoriesAsync.
  2. Aggregation & Logging: Upon completion, it measures the successes versus failures. If any clones failed, it emits specific warning logs to trace exactly which repositories were problematic and why.
  3. Completion Event: After cloning finishes it publishes a RepositoriesClonedMessage (identity repositories-cloned) via IMessageBus. The event is published even when some (or all) clones fail, so the API always re-reads its repository listing and its cached S3 directory does not go stale.
  4. Response: It builds and returns a CloneRepositoriesResult which Wolverine can automatically route back to the requesting service or use to trigger subsequent events.

0 items under this folder.