IHardwareRepository.cs 702 B

123456789101112131415161718192021222324
  1. namespace RackPeek.Domain.Resources.Hardware;
  2. public interface IHardwareRepository
  3. {
  4. Task<IReadOnlyList<Models.Hardware>> GetAllAsync();
  5. Task AddAsync(Models.Hardware hardware);
  6. Task UpdateAsync(Models.Hardware hardware);
  7. Task DeleteAsync(string name);
  8. Task<Models.Hardware?> GetByNameAsync(string name);
  9. public Task<List<HardwareTree>> GetTreeAsync();
  10. }
  11. public class HardwareTree
  12. {
  13. public required string HardwareName { get; set; }
  14. public required string Kind { get; set; }
  15. public required List<SystemTree> Systems {get; set;}
  16. }
  17. public class SystemTree
  18. {
  19. public required string SystemName { get; set; }
  20. public required List<string> Services {get; set;}
  21. }