using AsbCloudApp.Data;
using AsbCloudApp.Services;
using AsbCloudWebApi.WebSocket;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.SignalR;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
namespace AsbCloudWebApi.Controllers
{
///
/// Контроллер сбора данных от буровых
///
[Route("api/telemetry")]
[ApiController]
public class TelemetryController : ControllerBase
{
private readonly ITelemetryService telemetryService;
private readonly IHubContext telemetryHubContext;
public TelemetryController(ITelemetryService telemetryService, IHubContext telemetryHubContext)
{
this.telemetryService = telemetryService;
this.telemetryHubContext = telemetryHubContext;
}
///
/// Принимает общую информацию по скважине
///
/// Уникальный идентификатор отправителя
/// нформация об отправителе
///
[HttpPost]
[Route("{uid}/info")]
public IActionResult Info(string uid, [FromBody] TelemetryInfoDto info)
{
telemetryService.UpdateInfo(uid, info);
return Ok();
}
///
/// Принимает данные от разных систем по скважине
///
/// Уникальный идентификатор отправителя
/// Данные
///
[HttpPost]
[Route("{uid}/data")]
public IActionResult Data(string uid, [FromBody] TelemetryDataDto data)
{
telemetryService.UpdateData(uid, data);
//telemetryHubContext.Clients.Group("").
return Ok();
}
}
}