using AsbCloudApp.Data; using AsbCloudApp.Services; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using System; using System.Threading; using System.Threading.Tasks; namespace AsbCloudWebApi.Controllers { /// /// Редактор телеметрий для админки /// [Route("api/admin/telemetry")] [ApiController] [Authorize] public class AdminTelemetryController : CrudController> { private readonly ITelemetryService telemetryService; public AdminTelemetryController(ICrudRepository service, ITelemetryService telemetryService) : base(service) { this.telemetryService = telemetryService; } /// /// Merge telemetries. No body required. /// /// [HttpPost("/merge/{idFrom}/{idTo}")] [Permission] public async Task MergeTelemetriesAsync(int idFrom, int idTo, CancellationToken token) { var count = await telemetryService.MergeAsync(idFrom, idTo, token) .ConfigureAwait(false); return Ok(count); } /// /// Удаление куска телеметрии /// /// ключ телеметрии /// начало интервала удаления /// конец интервала удаления /// /// [HttpDelete("{telemetryId}")] [Permission] public async Task DeleteAsync(int telemetryId, DateTimeOffset? gDate, DateTimeOffset? lDate, CancellationToken token) { await telemetryService.DeleteAsync(telemetryId, gDate, lDate, token); return Ok(); } } }