temperature-alarm/backend/Api/Controllers/DeviceController.cs
2025-03-24 12:00:04 +01:00

53 lines
1.6 KiB
C#

using Microsoft.AspNetCore.Mvc;
using Api.Models;
using Api.DBAccess;
using Microsoft.AspNetCore.Authorization;
using Api.BusinessLogic;
namespace Api.Controllers
{
[ApiController]
[Route("api/[controller]")]
public class DeviceController : Controller
{
private readonly DbAccess _dbAccess;
private readonly DeviceLogic _deviceLogic;
public DeviceController(DbAccess dbAccess, DeviceLogic deviceLogic)
{
_dbAccess = dbAccess;
_deviceLogic = deviceLogic;
}
[Authorize]
[HttpGet("{userId}")]
public async Task<IActionResult> GetDevices(int userId)
{
List<Device> devices = await _dbAccess.ReadDevices(userId);
if (devices.Count == 0) { return BadRequest(new { error = "There is no devices that belong to this userID" }); }
return await _deviceLogic.GetDevices(userId);
}
//[Authorize]
[HttpPost("adddevice/{userId}")]
public async Task<IActionResult> AddDevice([FromBody] Device device, int userId)
{
return await _deviceLogic.AddDevice(device, userId);
}
//[Authorize]
[HttpGet("logs/{deviceId}")]
public async Task<IActionResult> GetLogs(int deviceId)
{
return await _deviceLogic.GetLogs(deviceId);
}
//[Authorize]
[HttpPut("Edit/{deviceId}")]
public async Task<IActionResult> EditDevice([FromBody] Device device, int deviceId)
{
return await _deviceLogic.EditDevice(device, deviceId);
}
}
}