diff --git a/Watcher/Controllers/HeartbeatController.cs b/Watcher/Controllers/HeartbeatController.cs index a30ac9d..10015a9 100644 --- a/Watcher/Controllers/HeartbeatController.cs +++ b/Watcher/Controllers/HeartbeatController.cs @@ -10,7 +10,7 @@ using Watcher.ViewModels; public class HeartbeatDto { - public int ServerId { get; set; } + public string? IpAddress { get; set; } } [ApiController] @@ -26,9 +26,15 @@ public class HeartbeatController : Controller } [HttpPost("receive")] - public async Task Receive([FromBody] HeartbeatDto heartbeat) + public async Task Receive([FromBody] HeartbeatDto dto) { - var server = await _context.Servers.FirstOrDefaultAsync(s => s.Id == heartbeat.ServerId); + if (string.IsNullOrWhiteSpace(dto.IpAddress)) + { + return BadRequest("Missing IP address."); + } + + var server = await _context.Servers + .FirstOrDefaultAsync(s => s.IPAddress == dto.IpAddress); if (server != null) { @@ -37,6 +43,6 @@ public class HeartbeatController : Controller return Ok(); } - return BadRequest(); + return NotFound("No matching server found."); } }