chore: Änderungen commited

This commit is contained in:
2025-06-16 08:49:18 +02:00
parent 4491156902
commit 18126335ac
5 changed files with 249 additions and 16 deletions

View File

@ -107,13 +107,14 @@ class PrinterMonitor {
/**
* Holt aktuelle Drucker-Status-Daten
*/
async updatePrinterStatus() {
async updatePrinterStatus(forceRefresh = false) {
if (!this.isActive) {
return;
}
try {
const response = await fetch(`/api/printers/status`, {
const url = `/api/printers/status${forceRefresh ? '?force_refresh=true' : ''}`;
const response = await fetch(url, {
method: 'GET',
headers: {
'Content-Type': 'application/json',
@ -427,6 +428,56 @@ class PrinterMonitor {
/**
* Initialisiert alle Steckdosen (nur für Admins)
*/
async forceNetworkRefresh() {
try {
console.log('🔄 Starte Force-Network-Refresh...');
const response = await fetch('/api/printers/force-refresh', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'X-Requested-With': 'XMLHttpRequest'
}
});
if (response.ok) {
const data = await response.json();
if (data.success) {
console.log('✅ Force-Network-Refresh erfolgreich:', data.refresh_results);
// Benachrichtige über Force-Refresh
this.notifyCallbacks({
type: 'force_refresh',
results: data.refresh_results,
message: data.message,
timestamp: new Date().toISOString()
});
// Direkt mit neuen Daten aktualisieren (ohne Cache)
await this.updatePrinterStatus(true);
return data;
} else {
throw new Error(data.error || 'Force-Refresh fehlgeschlagen');
}
} else {
throw new Error(`HTTP ${response.status}`);
}
} catch (error) {
console.error('❌ Fehler bei Force-Network-Refresh:', error);
this.notifyCallbacks({
type: 'error',
message: `Force-Refresh fehlgeschlagen: ${error.message}`,
timestamp: new Date().toISOString()
});
throw error;
}
}
async initializeAllOutlets() {
try {
const response = await fetch('/api/printers/monitor/initialize-outlets', {