refactor(webui): remove pipeline viewer feature
Remove the read-only pipeline viewer from the web UI: - Delete PipelineViewer.razor page and supporting components - Delete PipelineController and PipelineMapper from API - Delete Pipeline DTOs from Core - Delete PipelineApiClient from Client - Remove navigation link and DI registrations - Delete obsolete plan documents The ConfigManager utility retains pipeline editing capabilities.
This commit is contained in:
@@ -152,38 +152,4 @@ public static class ApiRoutes
|
||||
$"api/refresh-status?minDT={minDt:yyyy-MM-dd}&maxDT={maxDt:yyyy-MM-dd}";
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Routes for pipeline configuration API endpoints.
|
||||
/// </summary>
|
||||
public static class Pipelines
|
||||
{
|
||||
/// <summary>Base route for pipeline endpoints.</summary>
|
||||
public const string Base = "api/pipelines";
|
||||
|
||||
/// <summary>Route template for getting a pipeline by name.</summary>
|
||||
public const string ByName = "{name}";
|
||||
|
||||
/// <summary>Route template for getting pipeline status.</summary>
|
||||
public const string Status = "{name}/status";
|
||||
|
||||
/// <summary>Route template for getting pipeline executions.</summary>
|
||||
public const string Executions = "{name}/executions";
|
||||
|
||||
/// <summary>Builds the route to get a specific pipeline config.</summary>
|
||||
/// <param name="name">The pipeline name to URL-encode.</param>
|
||||
/// <returns>The formatted route.</returns>
|
||||
public static string GetByName(string name) => $"api/pipelines/{Uri.EscapeDataString(name)}";
|
||||
|
||||
/// <summary>Builds the route to get pipeline status.</summary>
|
||||
/// <param name="name">The pipeline name to URL-encode.</param>
|
||||
/// <returns>The formatted route.</returns>
|
||||
public static string GetStatus(string name) => $"api/pipelines/{Uri.EscapeDataString(name)}/status";
|
||||
|
||||
/// <summary>Builds the route to get pipeline executions.</summary>
|
||||
/// <param name="name">The pipeline name to URL-encode.</param>
|
||||
/// <param name="count">The number of recent executions to retrieve.</param>
|
||||
/// <returns>The formatted route.</returns>
|
||||
public static string GetExecutions(string name, int count = 10) =>
|
||||
$"api/pipelines/{Uri.EscapeDataString(name)}/executions?count={count}";
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,30 +0,0 @@
|
||||
using JdeScoping.Core.Models.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>
|
||||
/// <param name="ct">Cancellation token.</param>
|
||||
Task<ApiResult<PipelineListResponse>> GetPipelineNamesAsync(CancellationToken ct = default);
|
||||
|
||||
/// <summary>Gets configuration for a specific pipeline.</summary>
|
||||
/// <param name="name">The pipeline name.</param>
|
||||
/// <param name="ct">Cancellation token.</param>
|
||||
Task<ApiResult<PipelineConfigDto>> GetPipelineAsync(string name, CancellationToken ct = default);
|
||||
|
||||
/// <summary>Gets schedule status for a pipeline.</summary>
|
||||
/// <param name="name">The pipeline name.</param>
|
||||
/// <param name="ct">Cancellation token.</param>
|
||||
Task<ApiResult<PipelineStatusResponse>> GetStatusAsync(string name, CancellationToken ct = default);
|
||||
|
||||
/// <summary>Gets recent execution history for a pipeline.</summary>
|
||||
/// <param name="name">The pipeline name.</param>
|
||||
/// <param name="count">The maximum number of executions to return.</param>
|
||||
/// <param name="ct">Cancellation token.</param>
|
||||
Task<ApiResult<PipelineExecutionsResponse>> GetExecutionsAsync(string name, int count = 30, CancellationToken ct = default);
|
||||
}
|
||||
@@ -1,51 +0,0 @@
|
||||
namespace JdeScoping.Core.Models.Pipelines;
|
||||
|
||||
/// <summary>
|
||||
/// Pipeline configuration DTO for display.
|
||||
/// </summary>
|
||||
public record PipelineConfigDto(
|
||||
string Name,
|
||||
PipelineSourceDto Source,
|
||||
PipelineDestinationDto Destination,
|
||||
PipelineSchedulesDto Schedules,
|
||||
int PreScriptCount,
|
||||
int PostScriptCount,
|
||||
List<string>? PreScripts,
|
||||
List<string>? PostScripts);
|
||||
|
||||
public record PipelineSourceDto(
|
||||
string Connection,
|
||||
string? QueryPreview,
|
||||
string? MassQueryPreview,
|
||||
string? Query,
|
||||
string? MassQuery,
|
||||
List<PipelineParameterDto> Parameters);
|
||||
|
||||
public record PipelineParameterDto(
|
||||
string Name,
|
||||
string? Format,
|
||||
string Source);
|
||||
|
||||
public record PipelineDestinationDto(
|
||||
string Table,
|
||||
string OperationType,
|
||||
List<string>? MatchColumns,
|
||||
List<string>? ExcludeFromUpdate);
|
||||
|
||||
public record PipelineSchedulesDto(
|
||||
PipelineScheduleDto Mass,
|
||||
PipelineScheduleDto Daily,
|
||||
PipelineScheduleDto Hourly);
|
||||
|
||||
public record PipelineScheduleDto(
|
||||
bool Enabled,
|
||||
int IntervalMinutes,
|
||||
bool PrePurge,
|
||||
bool ReIndex,
|
||||
bool IntervalIsOverride,
|
||||
bool PrePurgeIsOverride,
|
||||
bool ReIndexIsOverride,
|
||||
string? Query,
|
||||
List<PipelineParameterDto> Parameters,
|
||||
List<string>? PreScripts,
|
||||
List<string>? PostScripts);
|
||||
@@ -1,16 +0,0 @@
|
||||
namespace JdeScoping.Core.Models.Pipelines;
|
||||
|
||||
using JdeScoping.Core.Models.Enums;
|
||||
|
||||
/// <summary>
|
||||
/// Pipeline execution history.
|
||||
/// </summary>
|
||||
public record PipelineExecutionsResponse(List<PipelineExecutionDto> Executions);
|
||||
|
||||
public record PipelineExecutionDto(
|
||||
UpdateTypes ScheduleType,
|
||||
DateTime StartTime,
|
||||
DateTime? EndTime,
|
||||
TimeSpan? Duration,
|
||||
long RecordCount,
|
||||
bool WasSuccessful);
|
||||
@@ -1,6 +0,0 @@
|
||||
namespace JdeScoping.Core.Models.Pipelines;
|
||||
|
||||
/// <summary>
|
||||
/// Response containing list of available pipeline names.
|
||||
/// </summary>
|
||||
public record PipelineListResponse(List<string> PipelineNames);
|
||||
@@ -1,17 +0,0 @@
|
||||
namespace JdeScoping.Core.Models.Pipelines;
|
||||
|
||||
using JdeScoping.Core.Models.Enums;
|
||||
|
||||
/// <summary>
|
||||
/// Pipeline schedule status for each update type.
|
||||
/// </summary>
|
||||
public record PipelineStatusResponse(List<PipelineScheduleStatusDto> Statuses);
|
||||
|
||||
public record PipelineScheduleStatusDto(
|
||||
UpdateTypes ScheduleType,
|
||||
DateTime? LastRun,
|
||||
bool LastRunWasSuccessful,
|
||||
DateTime? LastSuccessfulRun,
|
||||
DateTime? NextRequiredRun,
|
||||
bool IsOverdue,
|
||||
int IntervalMinutes);
|
||||
Reference in New Issue
Block a user