ibms-MCUT/Mqtt/Controllers/AlarmController.cs

58 lines
2.0 KiB
C#
Raw Normal View History

2025-01-24 12:05:03 +08:00
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.SignalR;
using Microsoft.Extensions.Logging;
using Mqtt.Hubs;
using Mqtt.Models;
using Mqtt.Services;
using MQTTnet.Client;
using Repository.BackendRepository.Interface;
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
namespace Mqtt.Controllers
{
[ApiController]
[Route("api/[controller]/[action]")]
public class AlarmController : ControllerBase
{
Dictionary<string, object> dic = new Dictionary<string, object>();
private readonly ILogger<AlarmController> _logger;
private readonly IBackendRepository _backendRepository;
private readonly IBackgroundServicePostgresqlRepository _backgroundServicePostgresqlRepository;
public AlarmController(ILogger<AlarmController> logger, IBackgroundServicePostgresqlRepository backgroundServicePostgresqlRepository, IBackendRepository backendRepository)
{
this._logger = logger;
this._backendRepository = backendRepository;
this._backgroundServicePostgresqlRepository = backgroundServicePostgresqlRepository;
}
[HttpGet]
public async Task<IActionResult> AlarmList()
{
dic.Add("data", await new MqttClientService(_logger, _backgroundServicePostgresqlRepository).GetAlarmSettings());
return new OkObjectResult(dic);
}
[HttpPost]
public async Task<IActionResult> AlarmResult()
{
try
{
await new MqttClientService(_logger, _backgroundServicePostgresqlRepository).RefreshAlarmSettings();
dic.Add("ok", true);
dic.Add("msg", "重新設定成功");
}
catch (Exception e)
{
dic.Add("ok", false);
dic.Add("msg", "重新設定失敗");
_logger.LogError($"重新設定失敗, Message: {e.Message}");
}
return new OkObjectResult(dic);
}
}
}