| File: ServiceClient\IResourceRepository.cs | Web Access |
| Project: src\src\Aspire.Dashboard\Aspire.Dashboard.csproj (Aspire.Dashboard) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Aspire.Dashboard.Model; namespace Aspire.Dashboard.ServiceClient; /// <summary> /// Provides dashboard resource snapshots, updates, and console logs. /// </summary> public interface IResourceRepository { /// <summary> /// Gets the current set of resources and a stream of updates. /// </summary> Task<ResourceViewModelSubscription> SubscribeResourcesAsync(CancellationToken cancellationToken); /// <summary> /// Gets a resource matching the specified name. /// </summary> ResourceViewModel? GetResource(string resourceName); /// <summary> /// Gets the current resources. /// </summary> IReadOnlyList<ResourceViewModel> GetResources(); /// <summary> /// Gets existing and incoming console log messages for a resource. /// </summary> IAsyncEnumerable<IReadOnlyList<ResourceLogLine>> SubscribeConsoleLogs(string resourceName, CancellationToken cancellationToken); /// <summary> /// Gets existing console log messages for a resource. /// </summary> IAsyncEnumerable<IReadOnlyList<ResourceLogLine>> GetConsoleLogs(string resourceName, CancellationToken cancellationToken); /// <summary> /// Deletes persisted console log messages for the specified resources. /// </summary> /// <param name="resourceNames">The names of the resources whose console logs should be deleted.</param> /// <param name="clearDate">The timestamp through which replayed console logs should remain deleted.</param> /// <returns>A task that represents the asynchronous delete operation.</returns> Task ClearConsoleLogsAsync(IReadOnlyList<string> resourceNames, DateTime clearDate); }