This commit is contained in:
Nekura
2025-07-25 18:39:48 +02:00
commit b9d7b1c9f7
14 changed files with 1335 additions and 0 deletions

View File

@@ -0,0 +1,59 @@
// MonitoringController.cs
using Microsoft.AspNetCore.Mvc;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.InteropServices;
namespace FreelancerListServer.Controllers
{
[Route("api/[controller]")]
[ApiController]
public class MonitoringController : ControllerBase
{
private readonly LiteDbManager _dbManager;
private readonly Logger _logger;
public MonitoringController(LiteDbManager dbManager, Logger logger)
{
_dbManager = dbManager;
_logger = logger;
}
[HttpGet]
public ActionResult<IEnumerable<MonitoringInfo>> GetMonitoringData()
{
try
{
var monitoringData = _dbManager.GetCollection<MonitoringInfo>("monitoring").FindAll().ToList();
_logger.Log($"API: Retrieved {monitoringData.Count} monitoring entries.");
return Ok(monitoringData);
}
catch (Exception ex)
{
_logger.Log($"API: Error retrieving monitoring data: {ex.Message}");
return StatusCode(500, new { error = "Internal server error" });
}
}
[HttpGet("{gameId}")]
public ActionResult<MonitoringInfo> GetMonitoringDataByGameId(string gameId)
{
try
{
var monitoringData = _dbManager.GetCollection<MonitoringInfo>("monitoring").FindOne(x => x.GameId == gameId);
if (monitoringData == null)
{
_logger.Log($"API: Monitoring data for GameId={gameId} not found.");
return NotFound(new { error = $"Monitoring data for GameId={gameId} not found" });
}
_logger.Log($"API: Retrieved monitoring data for GameId={gameId}.");
return Ok(monitoringData);
}
catch (Exception ex)
{
_logger.Log($"API: Error retrieving monitoring data for GameId={gameId}: {ex.Message}");
return StatusCode(500, new { error = "Internal server error" });
}
}
}
}