Serilog konfiguriert und Code in Heartbeat- Home- und Auth-Controller aufräumen gestartet

This commit is contained in:
2025-06-25 18:01:03 +02:00
parent d1e9c18361
commit 4f8197c500
7 changed files with 93 additions and 32 deletions

View File

@@ -1,9 +1,9 @@
// .NET Packages
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore;
using System.Security.Claims;
// Local Namespaces
using Watcher.Data;
using Watcher.Models;
using Watcher.ViewModels;
namespace Watcher.Controllers
@@ -11,13 +11,20 @@ namespace Watcher.Controllers
[Authorize]
public class HomeController : Controller
{
// Datenbankverbindung
private readonly AppDbContext _context;
public HomeController(AppDbContext context)
// Logging einbinden
private readonly ILogger<HomeController> _logger;
// HomeController Constructor
public HomeController(AppDbContext context, ILogger<HomeController> logger)
{
_context = context;
_logger = logger;
}
// Dashboard unter /home/index
public async Task<IActionResult> Index()
{
var preferredUserName = User.FindFirst("preferred_username")?.Value;
@@ -39,9 +46,10 @@ namespace Watcher.Controllers
return View(viewModel);
}
// Funktion für /Views/Home/Index.cshtml um das DashboardStats-Partial neu zu laden.
// Die Funktion wird nicht direkt aufgerufen, sondern nur der /Home/DashboardStats Endpoint angefragt.
public IActionResult DashboardStats()
{
Console.WriteLine("Dashboard aktualisiert");
var servers = _context.Servers.ToList();
var containers = _context.Containers.ToList();
@@ -51,9 +59,12 @@ namespace Watcher.Controllers
{
ActiveServers = servers.Count(s => (now - s.LastSeen).TotalSeconds <= 120),
OfflineServers = servers.Count(s => (now - s.LastSeen).TotalSeconds > 120),
//TODO: anwendbar, wenn Container implementiert wurden.
//RunningContainers = containers.Count(c => (now - c.LastSeen).TotalSeconds <= 120),
//FailedContainers = containers.Count(c => (now - c.LastSeen).TotalSeconds > 120),
LastLogin = DateTime.Now // Oder was auch immer hier richtig ist
LastLogin = DateTime.Now
};
return PartialView("_DashboardStats", model);