<?php
// api/ver_doc_convalidacion_est.php — MODIFICADO PARA AZURE BLOB STORAGE
// Ver PDF de convalidación — rol ESTUDIANTE
require_once __DIR__ . '/../config/app.php';
require_once __DIR__ . '/../config/onedrive.php';
require_once __DIR__ . '/../includes/auth.php';
require_once __DIR__ . '/../includes/OneDriveStorage.php';
requireRol(ROL_ESTUDIANTE);

$db   = getDB();
$user = currentUser();

$idSolicitud = (int)($_GET['solicitud'] ?? 0);
$codDoc      = trim($_GET['doc'] ?? '');

if (!$idSolicitud || !$codDoc) {
    http_response_code(400); die('Parámetros inválidos.');
}

$st = $db->prepare("
    SELECT cd.ruta_archivo, cd.nombre_archivo
    FROM   convalidacion_documentos cd
    JOIN   convalidaciones c ON c.id_solicitud = cd.id_solicitud
    JOIN   estudiantes e     ON e.id_estudiante = c.id_estudiante
    WHERE  cd.id_solicitud = :is
      AND  cd.codigo_doc   = :cod
      AND  e.id_usuario    = :uid
    LIMIT  1
");
$st->execute([':is' => $idSolicitud, ':cod' => $codDoc, ':uid' => $user['id']]);
$doc = $st->fetch();

if (!$doc || !$doc['ruta_archivo']) {
    http_response_code(404); die('Documento no encontrado.');
}

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