using RackPeek.Domain; using RackPeek.Domain.Git; public class PullUseCase(IGitRepository repo) : IUseCase { public Task ExecuteAsync() { if (!repo.IsAvailable) return Task.FromResult("Git is not available."); if (!repo.HasRemote()) return Task.FromResult("No remote configured."); try { repo.Pull(); return Task.FromResult(null); } catch (Exception ex) { return Task.FromResult($"Pull failed: {ex.Message}"); } } }