/**
 * Korrektes Timezone-Fix für Worklog-Einträge
 * 
 * Situation:
 * - DB hat DATETIME-Spalten (ohne Timezone-Info)
 * - Alte App hat lokale Zeit gespeichert: 08:07 → in DB: "2025-10-14 08:07:18"
 * - Sequelize liest mit timezone='+00:00' und interpretiert als UTC
 * - Sequelize gibt zurück: "2025-10-14T08:07:18.000Z"
 * - JavaScript interpretiert das als 08:07 UTC
 * - JavaScript zeigt: 10:07 lokal (UTC+2 MESZ)
 * 
 * Was wir wollen:
 * - DB hat: "2025-10-14 08:07:18" (lokale Zeit)
 * - Anzeige: "08:07" (lokale Zeit)
 * 
 * Lösung: NICHTS in der DB ändern!
 * Stattdessen: UTC-Komponenten direkt als lokale Zeit interpretieren
 */

const mysql = require('mysql2/promise');
const path = require('path');
require('dotenv').config({ path: path.join(__dirname, '.env') });

async function checkTimezones() {
  let connection;
  
  try {
    connection = await mysql.createConnection({
      host: process.env.DB_HOST || 'localhost',
      user: process.env.DB_USER || 'root',
      password: process.env.DB_PASSWORD || '',
      database: process.env.DB_NAME || 'stechuhr2'
    });

    console.log('✅ Datenbankverbindung hergestellt\n');

    // Hole Beispiel-Einträge vom 14. und 15. Oktober
    const [rows] = await connection.execute(
      `SELECT id, tstamp, state 
       FROM worklog 
       WHERE id IN (4153, 4154, 4155, 4156, 4157, 4158, 4159, 4160)
       ORDER BY id ASC`
    );

    console.log('📊 Aktuelle DB-Einträge:\n');
    rows.forEach(row => {
      const state = JSON.parse(row.tstamp);
      console.log(`ID ${row.id}: ${row.tstamp} (Rohdaten aus DB)`);
    });

    console.log('\n💡 Diese Zeiten sollten die LOKALEN Zeiten sein (MEZ/MESZ)');
    console.log('💡 JavaScript sollte sie direkt so anzeigen, OHNE Timezone-Konvertierung\n');

  } catch (error) {
    console.error('❌ Fehler:', error);
    process.exit(1);
  } finally {
    if (connection) {
      await connection.end();
    }
  }
}

checkTimezones().then(() => {
  process.exit(0);
});



