<?php
/**
 * POST /api/cross-account-propagate.php
 *
 * Aplică propagarea metadatelor între conturi (după EAN), politică „doar
 * completează golurile". Planul e recalculat pe server (nu se ia din client).
 *
 * Body:
 *   - ean (opțional) — dacă e prezent, propagă DOAR pentru acel EAN; altfel, tot.
 *
 * Răspuns: { ok, fields (câte câmpuri completate), products (câte produse atinse) }
 */
require_once __DIR__ . '/../includes/db.php';
require_once __DIR__ . '/../includes/cross-account.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);
}

$ean = isset($_POST['ean']) ? trim((string)$_POST['ean']) : '';
$ean = $ean === '' ? null : $ean;

try {
    $result = cross_account_apply($ean);
    json_response(['ok' => true, 'fields' => $result['fields'], 'products' => $result['products']]);
} catch (Throwable $e) {
    error_log('[cross-account-propagate] ' . $e->getMessage());
    json_response(['ok' => false, 'error' => $e->getMessage()], 500);
}
