feat(client): add PipelineApiClient and admin components

- Add IPipelineApiClient interface in Core ApiContracts
- Add PipelineApiClient implementation extending ApiClientBase
- Create Components/Admin directory for admin UI components
- Add SqlQueryModal component for displaying SQL queries with copy-to-clipboard
- Add PipelineScheduleSection component for pipeline schedule display
- Register IPipelineApiClient in Program.cs DI container
- Add Admin components namespace to _Imports.razor
This commit is contained in:
Joseph Doherty
2026-01-07 08:14:37 -05:00
parent 676f090fc8
commit 2a15028e00
6 changed files with 264 additions and 0 deletions
@@ -0,0 +1,22 @@
using JdeScoping.Core.ApiContracts.Pipelines;
using JdeScoping.Core.ApiContracts.Results;
namespace JdeScoping.Core.ApiContracts;
/// <summary>
/// Client contract for pipeline configuration API operations.
/// </summary>
public interface IPipelineApiClient
{
/// <summary>Gets list of all available pipeline names.</summary>
Task<ApiResult<PipelineListResponse>> GetPipelineNamesAsync(CancellationToken ct = default);
/// <summary>Gets configuration for a specific pipeline.</summary>
Task<ApiResult<PipelineConfigDto>> GetPipelineAsync(string name, CancellationToken ct = default);
/// <summary>Gets schedule status for a pipeline.</summary>
Task<ApiResult<PipelineStatusResponse>> GetStatusAsync(string name, CancellationToken ct = default);
/// <summary>Gets recent execution history for a pipeline.</summary>
Task<ApiResult<PipelineExecutionsResponse>> GetExecutionsAsync(string name, int count = 30, CancellationToken ct = default);
}