'use strict';
/**
 * Configuración mínima del worker.
 *
 * Responsabilidades:
 *   1. Detectar el directorio de datos (AppData o XPONENCIA_DATA_DIR)
 *   2. Cargar el .env del directorio de datos
 *   3. Auto-detectar PLAYWRIGHT_BROWSERS_PATH si no está definida
 *
 * NO contiene selectores, templates, lógica de negocio ni configuración de Instagram.
 * Todo eso vive en el servidor y llega al worker como steps en el payload de la tarea.
 */

const path = require('path');
const fs   = require('fs');

// ── Directorio de datos ────────────────────────────────────────────────────────
const appDataPath = process.env.APPDATA ||
    (process.platform === 'darwin'
        ? path.join(process.env.HOME, 'Library', 'Preferences')
        : path.join(process.env.HOME, '.local', 'share'));

const xponenciaDataDir = path.join(appDataPath, 'xponencia-instagram-chatbot');

if (!fs.existsSync(xponenciaDataDir)) {
    try { fs.mkdirSync(xponenciaDataDir, { recursive: true }); } catch (e) {
        console.error('[WORKER-CONFIG] Error creando directorio de datos:', e.message);
    }
}

const dataDir = process.env.XPONENCIA_DATA_DIR ||
    (process.env.NODE_ENV === 'development'
        ? path.resolve(__dirname, '..')   // raíz del proyecto en dev
        : xponenciaDataDir);

// ── Cargar .env ────────────────────────────────────────────────────────────────
const envPath = path.join(dataDir, '.env');
if (fs.existsSync(envPath)) {
    require('dotenv').config({ path: envPath });
} else {
    // Fallback al directorio raíz en desarrollo
    require('dotenv').config({ path: path.join(__dirname, '..', '.env') });
}

// ── PLAYWRIGHT_BROWSERS_PATH ───────────────────────────────────────────────────
if (!process.env.PLAYWRIGHT_BROWSERS_PATH ||
     process.env.PLAYWRIGHT_BROWSERS_PATH === 'undefined') {
    const BUNDLED_BROWSERS = fs.existsSync(path.join(dataDir, 'browsers'))
        ? path.join(dataDir, 'browsers')
        : path.join(dataDir, 'ms-playwright');
    process.env.PLAYWRIGHT_BROWSERS_PATH = BUNDLED_BROWSERS;
    console.log(`[WORKER-CONFIG] PLAYWRIGHT_BROWSERS_PATH: ${BUNDLED_BROWSERS}`);
}

module.exports = { dataDir };
