<?php
require_once dirname(__FILE__) . '/../config.php';

if ($_SERVER['REQUEST_METHOD'] !== 'GET') { jsonErr(405, 'Metodo no permitido.'); }
auth(); // Requiere token valido
$db = getDB();

// URL base de las imagenes de productos
// Las imagenes estan en public_html/app-api/catalog/ con nombre {id_prod}.png
$baseUrl = 'https://www.sistemarrb.com/app-api/catalog/';

// Productos disponibles para venta al publico (puv=1)
// tipoprod=1 -> Productos de linea
// tipoprod=2 -> Inscripciones
$stmtProd = $db->prepare(
    'SELECT id_prod, nombreProd, precio, puntos, tipoprod, presentacion
     FROM productos
     WHERE puv = 1
     ORDER BY tipoprod ASC, nombreProd ASC'
);
$stmtProd->execute();
$rows = $stmtProd->fetchAll();

$linea         = [];
$inscripciones = [];

foreach ($rows as $r) {
    $idProd = (int)$r['id_prod'];
    // Devolvemos siempre la URL — la app intentara cargarla y usara el icono si falla
    $imgUrl = $baseUrl . $idProd . '.png';

    $item = [
        'id_prod'      => $idProd,
        'nombre'       => $r['nombreProd'],
        'precio'       => (float)$r['precio'],
        'puntos'       => (float)$r['puntos'],
        'presentacion' => $r['presentacion'],
        'tipoprod'     => (int)$r['tipoprod'],
        'imagen'       => $imgUrl,
    );

    if ((int)$r['tipoprod'] === 2) {
        $inscripciones[] = $item;
    } else {
        $linea[] = $item;
    }
}

// Promociones activas (tipo_promo=7 y activa=1)
$stmtPromo = $db->prepare(
    'SELECT id_promo, promodesc, precio, puntos
     FROM promod
     WHERE tipo_promo = 7 AND activa = 1
     ORDER BY promodesc ASC'
);
$stmtPromo->execute();
$rowsPromo = $stmtPromo->fetchAll();

$promociones = [];
foreach ($rowsPromo as $p) {
    $idPromo = (int)$p['id_promo'];
    $imgUrl  = $baseUrl . 'promo_' . $idPromo . '.png';

    $promociones[] = [
        'idpromod' => $idPromo,
        'nombre'   => $p['promodesc'],
        'precio'   => (float)$p['precio'],
        'puntos'   => (float)$p['puntos'],
        'imagen'   => $imgUrl,
    );
}

// bancos para la pantalla de nueva compra
$stmtBancos = $db->prepare('SELECT idbanco, nombre FROM banco ORDER BY nombre');
$stmtBancos->execute();
$bancos = $stmtBancos->fetchAll();

jsonOk(array(
    'linea'         => $linea,
    'inscripciones' => $inscripciones,
    'promociones'   => $promociones,
    'total'         => count($rows),
    'bancos'        => $bancos,
));
