Interfaces

Defines the abstractions for external infrastructure services used within the Git Operations layer.

IGitCloneService

The IGitCloneService defines the required operations for cloning source code into the MILTON ecosystem.

public interface IGitCloneService
{
    Task<GitCloneResult> CloneRepositoryAsync(
        Guid tenantId,
        int projectId,
        CloneRepositoryRequest repository,
        CancellationToken ct = default);
 
    Task<List<GitCloneResult>> CloneAllRepositoriesAsync(
        CloneRepositoriesCommand cmd,
        CancellationToken ct = default);
}

Architectural Intent

By isolating these methods behind an interface, the Application layer is protected against strict dependencies on LibGit2Sharp and IRepoFileStore. This abstraction ensures that the complex multi-step process (calculating local file paths, fetching source code, and transferring to AWS S3) is treated as a single cohesive capability from the perspective of the Wolverine handler.

0 items under this folder.