From: Marcin Haba Date: Wed, 19 Apr 2023 09:46:30 +0000 (+0200) Subject: baculum: Add priorjobname parameter to jobs endpoint X-Git-Tag: Release-13.0.3~69 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9424c8421216d2fadc2adcbc1c91de82597e3a3a;p=thirdparty%2Fbacula.git baculum: Add priorjobname parameter to jobs endpoint --- diff --git a/gui/baculum/protected/API/Pages/API/Jobs.php b/gui/baculum/protected/API/Pages/API/Jobs.php index 9eaace6e4..ccb3be6ef 100644 --- a/gui/baculum/protected/API/Pages/API/Jobs.php +++ b/gui/baculum/protected/API/Pages/API/Jobs.php @@ -60,6 +60,7 @@ class Jobs extends BaculumAPIServer { $order_direction = $this->Request->contains('order_direction') && $misc->isValidOrderDirection($this->Request['order_direction']) ? $this->Request['order_direction']: 'DESC'; $mode = ($this->Request->contains('overview') && $misc->isValidBooleanTrue($this->Request['overview'])) ? JobManager::JOB_RESULT_MODE_OVERVIEW : JobManager::JOB_RESULT_MODE_NORMAL; $view = ($this->Request->contains('view') && $misc->isValidResultView($this->Request['view'])) ? $this->Request['view'] : JobManager::JOB_RESULT_VIEW_FULL; + $priorjobname = $this->Request->contains('priorjobname') && $misc->isValidName($this->Request['priorjobname']) ? $this->Request['priorjobname'] : ''; if (!empty($jobids)) { /** @@ -243,6 +244,13 @@ class Jobs extends BaculumAPIServer { } } + if ($view == JobManager::JOB_RESULT_VIEW_ADVANCED) { + $params['PriorJob.Name'] = []; + $params['PriorJob.Name'][] = [ + 'vals' => $priorjobname + ]; + } + $result = $this->getModule('bconsole')->bconsoleCommand( $this->director, ['.jobs'], diff --git a/gui/baculum/protected/API/openapi_baculum.json b/gui/baculum/protected/API/openapi_baculum.json index 9b6b08bc8..2cdc92d0c 100644 --- a/gui/baculum/protected/API/openapi_baculum.json +++ b/gui/baculum/protected/API/openapi_baculum.json @@ -1060,6 +1060,26 @@ "schema": { "type": "boolean" } + }, + { + "name": "view", + "in": "query", + "required": false, + "description": "Set result view type: full (default) - display all job properties, basic - display only base properties, advanced - display all full view properties plus some special like 'priorjobname'.", + "schema": { + "type": "string", + "enum": ["basic", "full", "advanced"] + } + }, + { + "name": "priorjobname", + "in": "query", + "required": false, + "description": "Prior job name. NOTE: It works only if 'view' parameter is set to 'advanced'.", + "schema": { + "type": "string", + "pattern": "[a-zA-Z0-9:.-_ ]+" + } } ] }