GetSystemServiceTreeUseCase.cs 631 B

12345678910111213141516171819
  1. using RackPeek.Domain.Resources.Hardware;
  2. using RackPeek.Domain.Resources.Services;
  3. namespace RackPeek.Domain.Resources.SystemResources.UseCases;
  4. public class GetSystemServiceTreeUseCase(
  5. ISystemRepository systemRepository,
  6. IServiceRepository serviceRepository) : IUseCase
  7. {
  8. public async Task<SystemDependencyTree?> ExecuteAsync(string systemName)
  9. {
  10. var system = await systemRepository.GetByNameAsync(systemName);
  11. if (system is null) return null;
  12. var services = await serviceRepository.GetBySystemHostAsync(system.Name);
  13. return new SystemDependencyTree(system, services);
  14. }
  15. }