GetServerSystemTreeUseCase.cs 638 B

1234567891011121314151617181920
  1. using RackPeek.Domain.Resources.Hardware.Servers;
  2. using RackPeek.Domain.Resources.SystemResources;
  3. namespace RackPeek.Domain.Resources.Services.UseCases;
  4. public class GetSystemServiceTreeUseCase(
  5. ISystemRepository systemRepository,
  6. IServiceRepository serviceRepository)
  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. }