@page "/admin/servers/cleanup" @using Moonlight.App.Services @using Logging.Net @using Moonlight.App.Models.Misc @using Moonlight.App.Services.LogServices @inject CleanupService CleanupService @inject AuditLogService AuditLogService @implements IDisposable Cleanup
@(CleanupService.ServersCleaned)
Servers stopped
@(CleanupService.CleanupsPerformed)
Cleanups executed
@(CleanupService.ServersRunning)
Used clanup Servers
@if (CleanupService.IsRunning) { } else { }
@if (CleanupService.Activated) { } else { }
@if (CleanupService.Activated) { } else { }
@code { protected async override Task OnAfterRenderAsync(bool firstRender) { if (firstRender) { CleanupService.OnUpdated += OnUpdated; } } private void OnUpdated(object? sender, EventArgs e) { Logger.Debug(CleanupService.PercentProgress); InvokeAsync(StateHasChanged); } public void Dispose() { CleanupService.OnUpdated -= OnUpdated; } private void Enable() { CleanupService.Activated = true; AuditLogService.Log(AuditLogType.CleanupEnabled, "The automatic cleanup has been activated"); InvokeAsync(StateHasChanged); } private void Disabled() { CleanupService.Activated = false; AuditLogService.Log(AuditLogType.CleanupDisabled, "The automatic cleanup has been disabled"); InvokeAsync(StateHasChanged); } private async void Trigger() { await CleanupService.TriggerPerform(); await AuditLogService.Log(AuditLogType.CleanupTriggered, "The automatic cleanup has been manually triggered"); await InvokeAsync(StateHasChanged); } }