From cac1e4fe2a578744ea410ffd9a01080f17c2cb64 Mon Sep 17 00:00:00 2001 From: Marcin Haba Date: Wed, 26 Apr 2023 13:02:09 +0200 Subject: [PATCH] baculum: Add joberrors filter to jobs objects endpoint --- .../protected/API/Pages/API/JobsObjects.php | 18 ++++++++++++++++++ gui/baculum/protected/API/openapi_baculum.json | 9 +++++++++ 2 files changed, 27 insertions(+) diff --git a/gui/baculum/protected/API/Pages/API/JobsObjects.php b/gui/baculum/protected/API/Pages/API/JobsObjects.php index 8bfb2dbbf..68f0b03e5 100644 --- a/gui/baculum/protected/API/Pages/API/JobsObjects.php +++ b/gui/baculum/protected/API/Pages/API/JobsObjects.php @@ -51,6 +51,10 @@ class JobsObjects extends BaculumAPIServer { $clientid = $this->Request->contains('clientid') ? $this->Request['clientid'] : null; $client = $this->Request->contains('client') ? $this->Request['client'] : null; $objecttype = $this->Request->contains('objecttype') && $misc->isValidName($this->Request['objecttype']) ? $this->Request['objecttype'] : null; + $joberrors = null; + if ($this->Request->contains('joberrors') && $misc->isValidBoolean($this->Request['joberrors'])) { + $joberrors = $misc->isValidBooleanTrue($this->Request['joberrors']) ? true : false; + } // UNIX timestamp values $schedtime_from = $this->Request->contains('schedtime_from') && $misc->isValidInteger($this->Request['schedtime_from']) ? (int)$this->Request['schedtime_from'] : null; @@ -356,6 +360,20 @@ class JobsObjects extends BaculumAPIServer { ]; } } + if (!is_null($joberrors)) { + if ($joberrors === true) { + $params['Job.JobErrors'] = []; + $params['Job.JobErrors'][] = [ + 'operator' => '>', + 'vals' => 0 + ]; + } elseif ($joberrors === false) { + $params['Job.JobErrors'] = []; + $params['Job.JobErrors'][] = [ + 'vals' => 0 + ]; + } + } $result = $this->getModule('bconsole')->bconsoleCommand( $this->director, diff --git a/gui/baculum/protected/API/openapi_baculum.json b/gui/baculum/protected/API/openapi_baculum.json index 83c1601cd..9f693ba8c 100644 --- a/gui/baculum/protected/API/openapi_baculum.json +++ b/gui/baculum/protected/API/openapi_baculum.json @@ -2387,6 +2387,15 @@ "type": "string", "enum": ["basic", "full"] } + }, + { + "name": "joberrors", + "in": "query", + "required": false, + "description": "Show objects from jobs that contain or that do not contain errors.", + "schema": { + "type": "boolean" + } } ] } -- 2.47.3