import { Router } from 'express';
import { getComputedPackages, readPricingConfig } from '../services/pricing.js';
import { getPricingConfig } from '../config.js';
import { readSettings } from '../services/settings.js';

const router = Router();

router.get('/api/config', (req, res) => {
  try {
    const config = getPricingConfig();
    const settings = readSettings();
    res.json({ whatsappNumber: config.whatsappNumber || '593999999999', levelPackagesEnabled: settings.levelPackagesEnabled });
  } catch (e) {
    res.status(500).json({ error: 'config_read_error', message: 'No se pudo leer la configuración' });
  }
});

// Devuelve paquetes con precios calculados desde backend/config.js.
// Mantiene el contrato del frontend: usdt/usdtNormal.
router.get('/api/packages', (req, res) => {
  try {
    res.json(getComputedPackages());
  } catch (e) {
    res.status(500).json({ error: 'config_read_error', message: 'No se pudo leer la configuración de precios (config.js)' });
  }
});

export default router;

// Catálogo público de Paquetes de Aumento de Nivel (precios fijos en config.json).
router.get('/api/level-packages', (req, res) => {
  res.json(readPricingConfig().levelPackages || []);
});
import { checkLevelAvailability } from '../services/levelCheck.js';

// Verifica en vivo qué niveles de aumento tiene disponibles un jugador (region SV).
router.get('/api/level-packages/check', async (req, res) => {
  const playerId = String(req.query.playerId || '').trim();
  if (!playerId) return res.status(400).json({ error: 'missing_id', message: 'Falta playerId.' });
  const result = await checkLevelAvailability(playerId);
  res.json(result);
});