Files
html/api/opus5-blade-push.php
2026-04-17 02:50:02 +02:00

56 lines
2.4 KiB
PHP

<?php
header('Content-Type: application/json');
$QF = '/var/www/html/api/blade-queue.json';
$queue = @json_decode(@file_get_contents($QF), true) ?: [];
// Task 1 : fix ethica_count router
$task1 = [
'id' => 'opus5_ethica_count_fix_' . date('His'),
'type' => 'bash_exec_root',
'priority' => 'P1',
'created_at' => date('c'),
'source' => 'opus5-pending-runner',
'description' => 'Fix ethica_count routing in master-router.php (ligne 5072 stub hostname → PG query)',
'commands' => [
'sudo chattr -i /opt/wevia-brain/wevia-master-router.php',
'sudo php /var/www/html/api/opus-patch-ethica.php',
'sudo chattr +i /opt/wevia-brain/wevia-master-router.php'
],
'verify' => 'curl -sk -X POST http://127.0.0.1/api/wevia-master-api.php -d \'{"message":"combien ethica"}\' | grep -o "[0-9,]\\+ HCPs"',
'expected' => '141,661 HCPs',
'gold' => '/opt/wevads/vault/wevia-master-router-ETHICA-20260417-0041.gold.php',
'rollback' => 'sudo cp /opt/wevads/vault/wevia-master-router-ETHICA-20260417-0041.gold.php /opt/wevia-brain/wevia-master-router.php',
'status' => 'QUEUED'
];
// Task 2 : diag wevads tenant assignment (pas auto-fix, le plan dit "needs tenant list from Yacine")
$task2 = [
'id' => 'opus5_wevads_tenant_diag_' . date('His'),
'type' => 'bash_exec',
'priority' => 'P1',
'created_at' => date('c'),
'source' => 'opus5-pending-runner',
'description' => 'Scan + report WEVADS 6214 accounts sans tenant + proposer répartition selon 6 tenants actifs',
'commands' => [
'env PGPASSWORD=admin123 psql -h 10.1.0.3 -U admin -d adx_system -tAc "SELECT tenant_id, COUNT(*) FROM office_accounts GROUP BY tenant_id ORDER BY 2 DESC LIMIT 15" > /tmp/opus5-tenant-dist.txt',
'cat /tmp/opus5-tenant-dist.txt',
'env PGPASSWORD=admin123 psql -h 10.1.0.3 -U admin -d adx_system -tAc "SELECT id, name, status, graph_accts FROM office_tenants WHERE status=\\\"active\\\" ORDER BY graph_accts DESC LIMIT 10" >> /tmp/opus5-tenant-dist.txt',
'cat /tmp/opus5-tenant-dist.txt'
],
'status' => 'QUEUED'
];
$queue[] = $task1;
$queue[] = $task2;
$w = file_put_contents($QF, json_encode($queue, JSON_PRETTY_PRINT|JSON_UNESCAPED_UNICODE));
echo json_encode([
'ok' => $w > 0,
'queue_size' => count($queue),
'tasks_pushed' => [$task1['id'], $task2['id']],
'queue_file' => $QF,
'bytes_written' => $w
], JSON_PRETTY_PRINT);