feat(api,core): Методы в API для получения метрик заданий роботам, StatRobotMetricsController.

This commit is contained in:
Mikhail Trubnikov
2026-07-16 10:12:56 +10:00
parent 4c80e247f5
commit 751b693e72
17 changed files with 540 additions and 2 deletions

View File

@@ -0,0 +1,37 @@
using PARR.Domain.DTOs.RobotMetrics;
using PARR.Domain.Enums;
namespace PARR.Core.Services.RobotMetrics
{
/// <summary>
/// Отчетность по метрикам заданий и работы роботов.
/// </summary>
public interface IRobotMetricsService
{
/// <summary>
/// Статистика по Заданиям Роботу
/// </summary>
/// <param name="robotCode"></param>
/// <param name="period"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
Task<List<RobotStatusChartPoint>> GetRobotStatusMetricsAsync(RobotsEnum robotCode, ChartPeriod period, CancellationToken cancellationToken);
/// <summary>
/// Статистика по Статусам Заданий
/// </summary>
/// <param name="robotCode"></param>
/// <param name="period"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
Task<List<TaskStatusChartPoint>> GetTaskStatusMetricsAsync(RobotsEnum robotCode, ChartPeriod period, CancellationToken cancellationToken);
/// <summary>
/// Статистика с применением гибких фильтров
/// </summary>
/// <param name="filter"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
Task<List<FilteredChartPoint>> GetFilteredMetricsAsync(MetricFilter filter, CancellationToken cancellationToken);
}
}