Merge pull request 'feature/Server-Heartbeat' (#9) from feature/Server-Heartbeat into development
Reviewed-on: daniel-hbn/Watcher#9
This commit is contained in:
@@ -8,6 +8,11 @@ using Watcher.Data;
|
||||
using Watcher.Models;
|
||||
using Watcher.ViewModels;
|
||||
|
||||
public class HeartbeatDto
|
||||
{
|
||||
public string? IpAddress { get; set; }
|
||||
}
|
||||
|
||||
[ApiController]
|
||||
[Route("[controller]")]
|
||||
public class HeartbeatController : Controller
|
||||
@@ -21,23 +26,23 @@ public class HeartbeatController : Controller
|
||||
}
|
||||
|
||||
[HttpPost("receive")]
|
||||
public async Task<IActionResult> Receive([FromForm] int serverId)
|
||||
public async Task<IActionResult> Receive([FromBody] HeartbeatDto dto)
|
||||
{
|
||||
var server = await _context.Servers.FirstOrDefaultAsync(s => s.Id == serverId);
|
||||
if (string.IsNullOrWhiteSpace(dto.IpAddress))
|
||||
{
|
||||
return BadRequest("Missing IP address.");
|
||||
}
|
||||
|
||||
var server = await _context.Servers
|
||||
.FirstOrDefaultAsync(s => s.IPAddress == dto.IpAddress);
|
||||
|
||||
// Je nachdem, ob dier Datenbankeintrag für einen neuen Server vorher oder nacher passiert, ist das hier überflüssig
|
||||
if (server != null)
|
||||
{
|
||||
server.LastSeen = DateTime.UtcNow;
|
||||
|
||||
await _context.SaveChangesAsync();
|
||||
return Ok();
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
return BadRequest();
|
||||
}
|
||||
|
||||
|
||||
return NotFound("No matching server found.");
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user