<?php
/* ============================================================
   POST api/save.php  →  حفظ المنصة (يتطلب دخولًا + رمز حماية)
   ============================================================ */

declare(strict_types=1);
require __DIR__ . '/bootstrap.php';
require __DIR__ . '/helpers.php';
require __DIR__ . '/schema.php';
require __DIR__ . '/store.php';

exp_start_session($CONFIG);
exp_require_post();
exp_check_origin();
$user = exp_require_login();
exp_check_csrf();

$body = exp_body();
if (!$body || !isset($body['competitions'])) exp_fail('بيانات غير صالحة');

try {
  $db = exp_db($CONFIG);
  $fresh = exp_save_platform($db, $body);
  exp_audit($db, $user, 'save', 'المسابقات: ' . count($fresh['competitions']));
  exp_json(['ok' => true, 'data' => $fresh, 'savedAt' => date('c')]);
} catch (Throwable $e) {
  error_log('save.php: ' . $e->getMessage());
  exp_fail('تعذّر الحفظ — لم يتغيّر شيء في قاعدة البيانات', 500);
}
