<?php
/**
 * POST /api/set-active-account.php
 *
 * Schimbă contul activ (contextul global selectat din header).
 * Body: account_id (0 = „Toate conturile", sau id-ul unui cont activ)
 *
 * Folosit de dropdown-ul de cont din header. La succes, frontend-ul reîncarcă
 * pagina ca filtrul global să se aplice.
 */
require_once __DIR__ . '/../includes/db.php';

if ($_SERVER['REQUEST_METHOD'] !== 'POST') {
    json_response(['ok' => false, 'error' => 'Doar POST'], 405);
}
if (!csrf_check($_POST['csrf_token'] ?? null)) {
    json_response(['ok' => false, 'error' => 'CSRF invalid'], 403);
}

$accountId = (int)($_POST['account_id'] ?? 0);

// Validează: 0 (toate) sau un cont activ existent
if ($accountId > 0) {
    $exists = db_scalar("SELECT 1 FROM emag_accounts WHERE id = ? AND is_active = 1", [$accountId]);
    if (!$exists) {
        json_response(['ok' => false, 'error' => 'Cont inexistent sau inactiv'], 404);
    }
}

set_active_account_id($accountId);
json_response(['ok' => true, 'active_account_id' => $accountId]);
