From 5a8d1e448d6a549e7ccbe3913441490b62eeff50 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A1=D1=82=D0=B5=D0=BF=D0=B0=D0=BD=D0=BE=D0=B2=20=D0=94?= =?UTF-8?q?=D0=BC=D0=B8=D1=82=D1=80=D0=B8=D0=B9?= Date: Wed, 21 Aug 2024 14:53:50 +0500 Subject: [PATCH] =?UTF-8?q?=D0=98=D0=B7=D0=BC=D0=B5=D0=BD=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=D0=B5=20API?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1. Добавлен контроллер TelemetryInfoController --- .../Controllers/TelemetryInfoController.cs | 50 +++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 AsbCloudWebApi/Controllers/TelemetryInfoController.cs diff --git a/AsbCloudWebApi/Controllers/TelemetryInfoController.cs b/AsbCloudWebApi/Controllers/TelemetryInfoController.cs new file mode 100644 index 00000000..b8c5cd5a --- /dev/null +++ b/AsbCloudWebApi/Controllers/TelemetryInfoController.cs @@ -0,0 +1,50 @@ +using System.Collections.Generic; +using System.Threading; +using System.Threading.Tasks; +using AsbCloudApp.Data.SAUB; +using AsbCloudApp.Requests; +using AsbCloudApp.Services; +using Microsoft.AspNetCore.Authorization; +using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Mvc; + +namespace AsbCloudWebApi.Controllers; + +/// +/// Информация о телеметрии +/// +[Route("api/[controller]")] +[ApiController] +[Authorize] +public class TelemetryInfoController : ControllerBase +{ + private readonly ITelemetryService telemetryService; + + public TelemetryInfoController(ITelemetryService telemetryService) + { + this.telemetryService = telemetryService; + } + + /// + /// Получить список информации о телеметрии + /// + /// + /// + /// + [HttpGet] + [Permission] + [ProducesResponseType(typeof(IEnumerable), StatusCodes.Status200OK)] + public async Task GetAsync([FromQuery] TelemetryInfoRequestBase request, CancellationToken token) + { + var idCompany = User.GetCompanyId(); + + if (!idCompany.HasValue) + return Forbid(); + + var requestToService = new TelemetryInfoRequest(idCompany.Value, request); + + var telemetriesInfo = await telemetryService.GetInfoAsync(requestToService, token); + + return Ok(telemetriesInfo); + } +} \ No newline at end of file