using RackPeek.Domain.Resources; using RackPeek.Domain.Resources.Models; using RackPeek.Domain.Resources.Services; using RackPeek.Domain.Resources.SystemResources; namespace RackPeek.Domain.Persistence; public interface IResourceCollection { IReadOnlyList HardwareResources { get; } IReadOnlyList SystemResources { get; } IReadOnlyList ServiceResources { get; } Task AddAsync(Resource resource); Task UpdateAsync(Resource resource); Task DeleteAsync(string name); Resource? GetByName(string name); Task Exists(string name); Task LoadAsync(); // required for WASM startup Task> GetByTagAsync(string name); public Task> GetTagsAsync(); }