InitRepoUseCase.cs 553 B

12345678910111213141516171819202122232425
  1. namespace RackPeek.Domain.Git.UseCases;
  2. public interface IInitRepoUseCase
  3. {
  4. Task<string?> ExecuteAsync();
  5. }
  6. public class InitRepoUseCase(IGitRepository repo) : IInitRepoUseCase
  7. {
  8. public Task<string?> ExecuteAsync()
  9. {
  10. if (repo.IsAvailable)
  11. return Task.FromResult<string?>(null);
  12. try
  13. {
  14. repo.Init();
  15. return Task.FromResult<string?>(null);
  16. }
  17. catch (Exception ex)
  18. {
  19. return Task.FromResult<string?>($"Init failed: {ex.Message}");
  20. }
  21. }
  22. }