2021-09-10 11:28:57 +05:00
|
|
|
|
using AsbCloudApp.Data;
|
|
|
|
|
using AsbCloudApp.Services;
|
|
|
|
|
using Microsoft.AspNetCore.Authorization;
|
|
|
|
|
using Microsoft.AspNetCore.Mvc;
|
2021-12-17 12:48:58 +05:00
|
|
|
|
using System.Threading;
|
|
|
|
|
using System.Threading.Tasks;
|
2021-09-10 11:28:57 +05:00
|
|
|
|
|
|
|
|
|
namespace AsbCloudWebApi.Controllers
|
|
|
|
|
{
|
2022-06-16 17:37:10 +05:00
|
|
|
|
/// <summary>
|
|
|
|
|
/// Редактор телеметрий для админки
|
|
|
|
|
/// </summary>
|
2021-09-10 11:28:57 +05:00
|
|
|
|
[Route("api/admin/telemetry")]
|
|
|
|
|
[ApiController]
|
|
|
|
|
[Authorize]
|
2022-12-01 15:56:11 +05:00
|
|
|
|
public class AdminTelemetryController : CrudController<TelemetryDto, ICrudRepository<TelemetryDto>>
|
2021-09-10 11:28:57 +05:00
|
|
|
|
{
|
2021-09-29 10:12:54 +05:00
|
|
|
|
private readonly ITelemetryService telemetryService;
|
|
|
|
|
|
2022-12-01 15:56:11 +05:00
|
|
|
|
public AdminTelemetryController(ICrudRepository<TelemetryDto> service,
|
2021-09-29 10:12:54 +05:00
|
|
|
|
ITelemetryService telemetryService)
|
2021-09-10 11:28:57 +05:00
|
|
|
|
: base(service)
|
|
|
|
|
{
|
2021-09-29 10:12:54 +05:00
|
|
|
|
this.telemetryService = telemetryService;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
2021-12-17 13:04:33 +05:00
|
|
|
|
/// Merge telemetries. No body required.
|
2021-09-29 10:12:54 +05:00
|
|
|
|
/// </summary>
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
[HttpPost]
|
2021-12-17 12:48:58 +05:00
|
|
|
|
[Route("/merge/{idFrom}/{idTo}")]
|
2022-01-19 11:42:26 +05:00
|
|
|
|
[Permission]
|
2021-12-17 12:48:58 +05:00
|
|
|
|
public async Task<IActionResult> MergeTelemetriesAsync(int idFrom, int idTo, CancellationToken token = default)
|
2021-09-29 10:12:54 +05:00
|
|
|
|
{
|
2021-12-17 12:48:58 +05:00
|
|
|
|
var count = await telemetryService.MergeAsync(idFrom, idTo, token)
|
|
|
|
|
.ConfigureAwait(false);
|
2021-09-29 10:12:54 +05:00
|
|
|
|
return Ok(count);
|
2021-09-10 11:28:57 +05:00
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|