import cron from 'node-cron';
import pool from '../db.js';

/**
 * Initialisiert alle zeitgesteuerten Hintergrund-Aufgaben (Cronjobs) für den Sektor.
 * Wird einmalig beim Serverstart aufgerufen.
 */
export const initCronJobs = () => {
    console.log('⏰ Initialisiere Sektor Cronjobs...');

    // --------------------------------------------------------------------------
    // CRON: Trümmerfeld-Bereinigung
    // Format: 'Minute Stunde Tag Monat Wochentag'
    // '15 2 * * 3' bedeutet: Jeden Mittwoch (3) um 02:15 Uhr nachts.
    // --------------------------------------------------------------------------
    cron.schedule('15 2 * * 3', async () => {
        console.log('🧹 [CRON] Starte wöchentliche Trümmerfeld-Bereinigung...');
        const client = await pool.connect();
        
        try {
            // Wir löschen alle Trümmerfelder, bei denen die Summe aller 
            // herumfliegenden Ressourcen streng kleiner als 290 ist.
            const deleteQuery = `
                DELETE FROM debris_fields 
                WHERE (res_primary + res_secondary + res_fuel_base + res_fuel_adv) < 290
            `;
            
            const result = await client.query(deleteQuery);
            console.log(`✅ [CRON] Bereinigung abgeschlossen. ${result.rowCount} kleine Trümmerfelder wurden entfernt.`);
            
        } catch (error) {
            console.error('❌ [CRON] Fehler bei der Trümmerfeld-Bereinigung:', error);
        } finally {
            client.release();
        }
    });
};