using AutoMapper; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using PARR.API.Contracts.V1; using PARR.API.Contracts.V1.Responses.Base; using PARR.API.Controllers.V1.Base; using PARR.Core.Services.RobotStatusDetails.Interfaces; using PARR.Domain.Common.Roles; using PARR.Domain.Enums; namespace PARR.API.Controllers.V1.Statistics { /// /// Детальная статистика по статусам заданий роботам /// [Authorize(Roles = ParrRoles.EsppRobot.RoleOrAdmin)] public class StatRobotStatusDetailsController : BaseApiController { private readonly IMapper _mapper; private readonly IRobotStatusDetailsService _robotStatusDetailsService; public StatRobotStatusDetailsController( IMapper mapper, IRobotStatusDetailsService robotStatusDetailsService ) { _mapper = mapper; _robotStatusDetailsService = robotStatusDetailsService; } /// /// Список групп работ по статусам заданий роботам /// /// /// /// [HttpGet(ApiRoutes.StatRobotStatusDetails.Details)] public async Task Details([FromRoute] RobotsEnum robot, [FromRoute] RobotStatusEnum status) { var details = await _robotStatusDetailsService.GetDetailsAsync(robot, status); var response = _mapper.Map(details); return Ok(new Response(response, true)); } } }