Files
yogibook_aury_new/public/api_medical_certificates_list.php
T
2026-08-22 07:57:06 +02:00

55 lines
1.8 KiB
PHP

<?php
/**
* api_medical_certificates_list.php
* --------------------------------------------------------------------------
* Restituisce i certificati medici dell'utente autenticato.
*
* Posizione: public/api/api_medical_certificates_list.php
* Metodo: GET
* Auth: Bearer token (Sanctum) via _bootstrap.php
*
* Tabella: certificateuserprofile
* idcertificateuserprofile, documentdescription, filenamedocument,
* iduser, expirydatedocument, uploaded_at
* --------------------------------------------------------------------------
*/
require_once __DIR__ . '/_bootstrap.php';
$userId = (int) $user->id;
$today = date('Y-m-d');
$stmt = $db->prepare("
SELECT idcertificateuserprofile, documentdescription, filenamedocument,
expirydatedocument, uploaded_at
FROM certificateuserprofile
WHERE iduser = :uid
ORDER BY uploaded_at DESC, idcertificateuserprofile DESC
");
$stmt->execute([':uid' => $userId]);
$rows = $stmt->fetchAll();
$certificates = [];
foreach ($rows as $r) {
$filename = (string) ($r['filenamedocument'] ?? '');
$expiry = $r['expirydatedocument'] ?? null;
$isExpired = ($expiry !== null && $expiry !== '' && $expiry < $today);
$certificates[] = [
'id' => (int) $r['idcertificateuserprofile'],
'document_name' => (string) ($r['documentdescription'] ?? ''),
'filename' => $filename,
'uploaded_at' => $r['uploaded_at'] ?? null,
'expiry_date' => $expiry,
'is_expired' => $isExpired,
// percorso file relativo (la webapp li serve da public/user/document/)
'file_url' => $filename !== '' ? '/user/document/' . $filename : null,
];
}
echo json_encode([
'success' => true,
'certificates' => $certificates,
], JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES);