slik-dispenser/backend/Controllers/DispenserController.cs

28 lines
630 B
C#

using Microsoft.AspNetCore.Mvc;
using MQTTnet;
using backend.Application;
using backend.Models;
namespace backend.Controllers;
[ApiController]
public class DispenserController : ControllerBase
{
[HttpPost("Dispense")]
public void Dispense()
{
Console.WriteLine("Dispensing..");
var message = new MqttApplicationMessageBuilder()
.WithTopic("dispense")
.WithPayload("dispense")
.Build();
ApplicationState.DbContext!.Add(new DispenserLog { Timestamp = DateTime.Now });
ApplicationState.DbContext!.SaveChanges();
ApplicationState.MqttClient!.PublishAsync(message, CancellationToken.None);
}
}