From af4f92b027265a8b10c78df6dd497dd332744ce5 Mon Sep 17 00:00:00 2001
From: "Hahn Axel (hahn)" <axel.hahn@unibe.ch>
Date: Tue, 4 Mar 2025 12:51:52 +0100
Subject: [PATCH] add support for "group", "parent", "worstresult"

---
 TODO.md       |  8 ++++----
 src/amcli.php | 16 ++++++++++++----
 2 files changed, 16 insertions(+), 8 deletions(-)

diff --git a/TODO.md b/TODO.md
index 014ead2..69c5cfa 100644
--- a/TODO.md
+++ b/TODO.md
@@ -14,7 +14,7 @@ was ich so sehe ...
 
 ✅ Test auf gesetzte Metadaten
 
-⬜ für alle Checks einen Test schreiben
+✅ für alle Checks einen Test schreiben
 
     ✅ ApacheProcesses
     ✅ Cert --> Hostname bei Wildcard-Zertifikat wird nicht erkannt
@@ -32,11 +32,11 @@ was ich so sehe ...
     ✅ Simple
     ✅ SqliteConnect
 
-⬜ parent Option testen
+✅ parent Option testen
 
-⬜ group testen
+✅ group testen
 
-⬜ worstresult Option testen
+✅ worstresult Option testen
 
 ## Done
 
diff --git a/src/amcli.php b/src/amcli.php
index b9b4e19..be44ad2 100755
--- a/src/amcli.php
+++ b/src/amcli.php
@@ -197,6 +197,7 @@ $aChecks = $aIni;
 unset($aChecks["meta"]);
 unset($aChecks["notifications"]);
 
+$aArray=[];
 foreach ($aChecks as $sKey => $aCheck) {
     $aChecks[$sKey]['name'] = $aCheck['name'] ?? $sKey;
     if ($aCheck['params']) {
@@ -208,15 +209,22 @@ foreach ($aChecks as $sKey => $aCheck) {
         }
     }
 
-    _wd("Execute Check '$sKey' with params: " . print_r($aArray ?? [], 1));
-    $oMonitor->addCheck([
+    $aAddCheck=[
         "name" => $aCheck['name'] ?? $sKey,
         "description" => $aCheck['description'],
         "check" => [
             "function" => $aCheck['function'],
-            "params" => $aArray,
+            "params" => $aArray ?? [],
         ],
-    ]);
+    ];
+    foreach(["group", "parent", "worstresult"] as $sCustomKey) {
+        if (isset($aCheck[$sCustomKey])) {
+            $aAddCheck[$sCustomKey] = $aCheck[$sCustomKey];
+        }
+    }
+    _wd("Execute Check '$sKey': " . print_r($aAddCheck, 1));
+
+    $oMonitor->addCheck($aAddCheck);
 
     /*
     $oMonitor->addCheck(
-- 
GitLab