<?php
/**
 * API: Authentification utilisateur
 * POST /apipcc/login.php
 * Paramètres: username, password
 */
require_once __DIR__ . '/config.php';

if ($_SERVER['REQUEST_METHOD'] !== 'POST') {
    sendError('Méthode non autorisée', 405);
}

$data = getPostData();
$username = $data['username'] ?? '';
$password = $data['password'] ?? '';

if (empty($username) || empty($password)) {
    sendError('Nom d\'utilisateur et mot de passe requis');
}

$conn = getConnection(DB_NAME_PARCS);

// Récupération des utilisateurs actifs
$query = "SELECT Nom FROM utilisateurs WHERE Etat = 'Actif' AND role = 'PCC'";
$result = $conn->query($query);

$nomUtilisateurs = [];
if ($result && $result->num_rows > 0) {
    while ($row = $result->fetch_assoc()) {
        $nomUtilisateurs[] = $row['Nom'];
    }
}

// Vérification de l'utilisateur
$query = "SELECT * FROM utilisateurs WHERE Nom = ? AND Etat = 'Actif'";
$stmt = $conn->prepare($query);
$stmt->bind_param("s", $username);
$stmt->execute();
$result = $stmt->get_result();

if ($result->num_rows > 0) {
    $user = $result->fetch_assoc();
    
    if (password_verify($password, $user['MotDePasse'])) {
        if ($user["Role"] == "PCC") {
            sendSuccess([
                'Nom' => $user['Nom'],
                'Role' => $user['Role']
            ], 'Authentification réussie');
        } else {
            sendError('Rôle incorrect');
        }
    } else {
        sendError('Mot de passe incorrect');
    }
} else {
    sendError('Nom d\'utilisateur incorrect');
}

$stmt->close();
$conn->close();