/
Kovalenko
/
TODO
Обзор
Документация
Войти
/
Kovalenko
/
TODO
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
lab4
TaskApi/Controllers/Internal/TasksInternalController.cs
43 строки
1 KB
Kovalenko1
smth
07 мар 2026, 10:39
07 мар 2026, 10:39
9157b62
Код
Авторство
О чём код?
using Microsoft.AspNetCore.Mvc; using TaskApi.Dtos.Internal; using TaskApi.Messages; using TaskApi.Services; namespace TaskApi.Controllers.Internal; [ApiController] [ApiExplorerSettings(GroupName = "internal")] [Route("internal/tasks")] public class TasksInternalController : ControllerBase { private readonly RabbitMqClientService _clientService; public TasksInternalController(RabbitMqClientService clientService) { _clientService = clientService; } [HttpGet("summary")] [ProducesResponseType(typeof(TaskSummaryResponse), StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status401Unauthorized)] public async Task<ActionResult<TaskSummaryResponse>> GetSummary() { var request = RabbitMqHttpHelpers.BuildRequest( version: "v2", action: "get_summary", payload: new EmptyData()); var response = await _clientService.SendRequestAsync(request); if (!string.Equals(response.Status, "ok", StringComparison.OrdinalIgnoreCase)) { return RabbitMqHttpHelpers.MapError(this, response); } if (!RabbitMqHttpHelpers.TryReadData<TaskSummaryResponse>(response, out var summary) || summary is null) { return StatusCode(StatusCodes.Status502BadGateway, "Invalid response from MQ handler."); } return Ok(summary); } }