IResourceCollection.cs 776 B

12345678910111213141516171819202122232425
  1. using RackPeek.Domain.Resources;
  2. using RackPeek.Domain.Resources.Models;
  3. using RackPeek.Domain.Resources.Services;
  4. using RackPeek.Domain.Resources.SystemResources;
  5. namespace RackPeek.Domain.Persistence;
  6. public interface IResourceCollection
  7. {
  8. IReadOnlyList<Hardware> HardwareResources { get; }
  9. IReadOnlyList<SystemResource> SystemResources { get; }
  10. IReadOnlyList<Service> ServiceResources { get; }
  11. Task AddAsync(Resource resource);
  12. Task UpdateAsync(Resource resource);
  13. Task DeleteAsync(string name);
  14. Resource? GetByName(string name);
  15. Task<bool> Exists(string name);
  16. Task LoadAsync(); // required for WASM startup
  17. Task<IReadOnlyList<Resource>> GetByTagAsync(string name);
  18. public Task<Dictionary<string, int>> GetTagsAsync();
  19. }