<?php
// api/ver_pdf_coord.php — MODIFICADO PARA AZURE BLOB STORAGE
// Sirve el PDF firmado de un documento PPP al coordinador
require_once __DIR__ . '/../config/app.php';
require_once __DIR__ . '/../config/onedrive.php';
require_once __DIR__ . '/../includes/auth.php';
require_once __DIR__ . '/../includes/functions.php';
require_once __DIR__ . '/../includes/OneDriveStorage.php';
requireRol(ROL_COORDINADOR);

$db         = getDB();
$idPractica = (int)($_GET['practica'] ?? 0);
$codigoDoc  = trim($_GET['doc']       ?? '');

$VALIDOS = ['001','002','003','004','002A','005','008','009','010','011','012'];
if (!$idPractica || !in_array($codigoDoc, $VALIDOS)) {
    http_response_code(400); exit('Parámetros inválidos.');
}

$st = $db->prepare("
    SELECT ruta_archivo, nombre_archivo, estado
    FROM   documentos_ppp_gestion
    WHERE  id_practica = :ip
      AND  codigo_doc  = :cod
    LIMIT 1
");
$st->execute([':ip' => $idPractica, ':cod' => $codigoDoc]);
$doc = $st->fetch();

if (!$doc || empty($doc['ruta_archivo'])) {
    http_response_code(404); exit('El estudiante aún no ha subido este documento.');
}

OneDriveStorage::servirArchivo($doc['ruta_archivo'], $doc['nombre_archivo'], 'application/pdf');
