// service-worker.js

self.addEventListener('install', function(event) {
  event.waitUntil(
    caches.open('my-cache').then(function(cache) {
      return cache.addAll([
        'index.php',
        'add_material_form.php',
        'article_overview.php',
        'check_expiration.php',
        'css/style.css',
        'img/favicon.png',
        'img/Willkommen.png'
      ]);
    })
  );
});

self.addEventListener('fetch', function(event) {
  event.respondWith(
    fetch(event.request).catch(function() {
      return caches.match(event.request);
    })
  );
});

// Öffnen der Datenbankverbindung bei Bedarf
function openDatabaseConnection() {
  // Code zum Öffnen der Datenbankverbindung
}

// Schließen der Datenbankverbindung bei Bedarf
function closeDatabaseConnection() {
  // Code zum Schließen der Datenbankverbindung
}

// Events zum Öffnen und Schließen der Datenbankverbindung
self.addEventListener('activate', function(event) {
  openDatabaseConnection();
});

// Nachrichtenempfang vom Hauptthread (z.B. von der index.php)
self.addEventListener('message', function(event) {
  if (event.data.action === 'closeDatabaseConnection') {
    closeDatabaseConnection();
  }
});
