<?php
declare(strict_types=1);
if(!isset($_SESSION)){
    session_start();
}

require_once './model/BDD.php';
require_once './model/class/Emprunt.php';
require_once './scripts/lib/auth_roles.php';

if (!isset($_SESSION['user'])) {
    header('Location: index.php?uc=login');
    exit;
}

$Id_emprunt = isset($_POST['Id_emprunt']) ? (int)$_POST['Id_emprunt'] : 0;
if ($Id_emprunt <= 0) {
    http_response_code(400);
    exit('Requête invalide');
}

$e = Emprunt::findById($Id_emprunt);
if (!$e || $e->getStatut() !== 'en_cours') {
    http_response_code(404);
    exit('Emprunt introuvable ou déjà rendu');
}

$currentUserId = $_SESSION['user']->getId_utilisateur();
$userRole      = getUserRoleFromSession();

if (!canReturnEmprunt($userRole, (int)$currentUserId, (int)$e->getId_utilisateur())) {
    http_response_code(403);
    exit('Non autorisé');
}

// OK → clore l’emprunt
Emprunt::close($Id_emprunt);

// Redirection
header('Location: index.php?uc=loged/ludotheque');
exit;
