'method_not_allowed']); } $target = $_POST['target'] ?? $_GET['target'] ?? null; if (!$target) { http_response_code(400); json_response(['error'=>'missing_target']); } if ($target === 'settings') { $dest = $root . '/viewer-settings.schema.json'; } elseif ($target === 'env') { $dest = $root . '/scripts/.env.schema.json'; } else { http_response_code(400); json_response(['error'=>'invalid_target']); } $res = save_uploaded_schema($dest); if (isset($res['ok'])) json_response($res); http_response_code(400); json_response($res);