Files
Adminator 1e51ef7def Nachtrag: alle bisher untracked Ordner + hängende Änderungen mit-committen
- Konzept/, didaktik_geografie/, didaktik_simulation/, v2-modules/, v2-platform/
- 12 code-workspace-Files
- STATUS-*.md
- viele M/D/R-Änderungen an bereits getrackten Files
- .gitignore verstärkt: **/.humaninput/, **/secret_keys.txt

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-07-08 02:27:02 +02:00

25 lines
1.7 KiB
PHP

<?php
declare(strict_types=1);
require_once __DIR__ . '/../../lib/bootstrap.php';
$method = v2_validate_method_in(['GET', 'PATCH']);
v2_auth_require('any');
mock_log("$method /api/admin/platform-config", $_GET ?: []);
if ($method === 'GET') {
v2_response_ok(['groups' => [
'telemetry' => [
['key' => 'heartbeat_interval_min_s', 'value' => '10', 'type' => 'int', 'min' => '5', 'max' => '60', 'label' => 'Heartbeat — Min-Intervall (Sek.)', 'labelEasy' => null, 'help' => 'Untergrenze für Modul-Telemetrie.', 'updatedAt' => date('c')],
['key' => 'heartbeat_interval_max_s', 'value' => '30', 'type' => 'int', 'min' => '15', 'max' => '120', 'label' => 'Heartbeat — Max-Intervall (Sek.)', 'labelEasy' => null, 'help' => 'Obergrenze.', 'updatedAt' => date('c')],
['key' => 'stuck_threshold_s', 'value' => '90', 'type' => 'int', 'min' => '30', 'max' => '300', 'label' => 'Stuck-Schwellwert (Sek.)', 'labelEasy' => null, 'help' => 'Wann „steckt fest" gefeuert wird.', 'updatedAt' => date('c')],
],
'auth' => [
['key' => 'token_ttl_s', 'value' => '3600', 'type' => 'int', 'min' => '300', 'max' => '28800', 'label' => 'Token-Lebensdauer (Sek.)', 'labelEasy' => null, 'help' => 'Default 1h.', 'updatedAt' => date('c')],
['key' => 'token_refresh_window_s', 'value' => '300', 'type' => 'int', 'min' => '60', 'max' => '1800', 'label' => 'Token-Refresh-Fenster (Sek.)', 'labelEasy' => null, 'help' => 'Refresh wenn weniger Zeit übrig.', 'updatedAt' => date('c')],
],
]]);
}
$body = v2_request_body_json_required();
v2_response_ok(['ok' => true, '_mock' => 'Wert NICHT persistiert.']);