<?php

namespace invoice;

require_once __DIR__ . '/../conexion_bbdd/vendor/autoload.php';
require_once __DIR__ . '/../conexion_bbdd/Config/Database.php';
require_once __DIR__ . '/../Logger.php';

use Utils\Database;
use Utils\Logger;
// Permitir el acceso desde cualquier origen (para desarrollo)
header("Access-Control-Allow-Origin: *");

// Permitir métodos HTTP específicos
header("Access-Control-Allow-Methods: GET, POST, OPTIONS");

// Permitir encabezados personalizados
header("Access-Control-Allow-Headers: Content-Type, Authorization");
try {
    // Conexión a la base de datos
    $pdo = Database::conectar();
    
    // Obtener el idServiceOrder de la solicitud GET
    $idTypeInvoice= isset($_GET['typeinvoice']) ? $_GET['typeinvoice'] : null;

    // Consulta SQL con parámetro condicional
    $consulta = "SELECT id, typeinvoice ,serie, correlative FROM enumeracion_ivoice WHERE id = :idtypeinvoice";

    // Preparar la consulta con el parámetro
    $stmt = $pdo->prepare($consulta);
    $stmt->bindParam(':idtypeinvoice', $idTypeInvoice, \PDO::PARAM_INT);
    $stmt->execute();
    $resultado = $stmt->fetch(\PDO::FETCH_ASSOC);

    $invoice = [
        'id' => $resultado['id'],
        'typeinvoice' => $resultado['typeinvoice'],
        'serie' => $resultado['serie'],
        'correlative' => $resultado['correlative'],
    ];

    // Devolver los resultados estructurados como JSON
    echo json_encode(['Typeinvoice' => $invoice]);
} catch (\PDOException $e) {
    $mensajeError = "Error al conectar con la base de datos: " . $e->getMessage();
    Logger::logError('ERROR', $mensajeError, __FILE__, __LINE__);
    echo json_encode(['success' => false, 'message' => 'Error ' . $mensajeError]);
} catch (\Exception $e) {
    $mensajeError = "Error no capturado: " . $e->getMessage();
    Logger::logError('ERROR', $mensajeError, __FILE__, __LINE__);
    echo json_encode(['success' => false, 'message' => 'Error ' . $mensajeError]);
}
?>
