aa
All checks were successful
Gitea CI/CD / dotnet-build-and-test (push) Successful in 10m4s
Gitea CI/CD / Set Tag Name (push) Successful in 5s
Gitea CI/CD / docker-build-and-push (push) Successful in 11m22s
Gitea CI/CD / Create Tag (push) Successful in 6s

This commit is contained in:
2026-01-09 18:09:43 +01:00
parent 4523867a61
commit a2c6071960
7 changed files with 98 additions and 26 deletions

View File

@@ -8,6 +8,7 @@ using watcher_monitoring.Models;
using watcher_monitoring.Data;
using watcher_monitoring.Attributes;
using watcher_monitoring.Payloads;
using System.Net;
@@ -122,7 +123,7 @@ public class APIController : Controller
public async Task<IActionResult> Containers()
{
List<Container> containers = await _context.Containers.ToListAsync();
return Ok();
return Ok(containers);
}
[HttpDelete("delete-container")]
@@ -166,15 +167,18 @@ public class APIController : Controller
}
try {
Server server = new Server
Server newServer = new Server
{
Name = "test",
IPAddress = dto.IpAddress
Name = dto.hostName,
IPAddress = dto.ipAddress
};
_context.Servers.Add(server);
await _context.SaveChangesAsync();
return Ok();
_context.Servers.Add(newServer);
await _context.SaveChangesAsync();
var server = await _context.Servers.FindAsync(dto.ipAddress);
return Ok(server.Id);
} catch (Exception ex)
{
Console.WriteLine(ex.Message);
@@ -201,7 +205,7 @@ public class APIController : Controller
try
{
// Find Server in Database
var server = await _context.Servers.FindAsync(dto.Id);
var server = await _context.Servers.FindAsync(dto.id);
if (server == null)
{
@@ -210,11 +214,11 @@ public class APIController : Controller
}
// Add Hardware Configuration
server.CpuType = dto.CpuType;
server.CpuCores = dto.CpuCores;
server.GpuType = dto.GpuType;
server.RamSize = dto.RamSize;
// Diskspace fehlt
server.CpuType = dto.cpuType;
server.CpuCores = dto.cpuCores;
server.GpuType = dto.gpuType;
server.RamSize = dto.ramSize;
// TODO: Diskspace fehlt
await _context.SaveChangesAsync();
_logger.LogInformation("Harware configuration successfull for server {server}", server.Name);
@@ -231,9 +235,34 @@ public class APIController : Controller
// Server-Metrics endpoint for watcher-agent
[HttpPost("agent-server-metrics/{id}")]
public async Task<IActionResult> ServerMetrics ([FromBody] HardwareDto dto)
public async Task<IActionResult> ServerMetrics ([FromBody] MetricDto dto)
{
return Ok();
if (!ModelState.IsValid)
{
var errors = ModelState.Values
.SelectMany(v => v.Errors)
.Select(e => e.ErrorMessage)
.ToList();
_logger.LogError("Invalid monitoring payload");
return BadRequest(new { error = "Invalid monitoring payload", details = errors });
}
var server = await _context.Servers.FindAsync(dto.id);
if (server != null)
{
// neues Objekt mit Typ Metric anlegen
// Metric in Datenbank eintragen
return Ok();
}
else
{
_logger.LogError("metric cannot be added to database");
return BadRequest();
}
}
// Service-Detection endpoint for watcher-agent
@@ -244,7 +273,7 @@ public class APIController : Controller
}
// Container-Metrics endpoint for watcher-agent
[HttpPost("agent-container-metrics/{id}")]
[HttpPost("agent-container-metrics")]
public async Task<IActionResult> ContainerMetrics ([FromBody] HardwareDto dto)
{
return Ok();