From: Marcin Haba Date: Wed, 25 Oct 2023 07:19:19 +0000 (+0200) Subject: baculum: Add fileset parameter to objects endpoint X-Git-Tag: Beta-15.0.0~8 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ea22ae33f15cc1378807ecadc2dfcdc4535f6fe4;p=thirdparty%2Fbacula.git baculum: Add fileset parameter to objects endpoint --- diff --git a/gui/baculum/protected/API/Modules/ObjectManager.php b/gui/baculum/protected/API/Modules/ObjectManager.php index 80ba20740..4acb74dd6 100644 --- a/gui/baculum/protected/API/Modules/ObjectManager.php +++ b/gui/baculum/protected/API/Modules/ObjectManager.php @@ -127,7 +127,8 @@ class ObjectManager extends APIModule $sql = 'SELECT ' . $obj_record . ' FROM Object JOIN Job USING (JobId) -LEFT JOIN Client USING (ClientId) ' +LEFT JOIN Client USING (ClientId) +LEFT JOIN FileSet USING (FileSetId) ' . $where['where'] . $order . $limit . $offset; $statement = Database::runQuery($sql, $where['params']); $result = $statement->fetchAll(\PDO::FETCH_OBJ); diff --git a/gui/baculum/protected/API/Pages/API/Objects.php b/gui/baculum/protected/API/Pages/API/Objects.php index 88bc7e7a1..7123a184d 100644 --- a/gui/baculum/protected/API/Pages/API/Objects.php +++ b/gui/baculum/protected/API/Pages/API/Objects.php @@ -47,6 +47,7 @@ class Objects extends BaculumAPIServer { $jobids = $this->Request->contains('jobids') && $misc->isValidIdsList($this->Request['jobids']) ? explode(',', $this->Request['jobids']) : []; $jobstatus = $this->Request->contains('jobstatus') && $misc->isValidState($this->Request['jobstatus']) ? $this->Request['jobstatus'] : null; $client = $this->Request->contains('client') && $misc->isValidName($this->Request['client']) ? $this->Request['client'] : ''; + $fileset = $this->Request->contains('fileset') && $misc->isValidName($this->Request['fileset']) ? $this->Request['fileset'] : ''; $joberrors = null; if ($this->Request->contains('joberrors') && $misc->isValidBoolean($this->Request['joberrors'])) { $joberrors = $misc->isValidBooleanTrue($this->Request['joberrors']) ? true : false; @@ -185,6 +186,12 @@ class Objects extends BaculumAPIServer { 'vals' => $client ]; } + if (!empty($fileset)) { + $params['FileSet.FileSet'] = []; + $params['FileSet.FileSet'][] = [ + 'vals' => $fileset + ]; + } if (!empty($jobstatus)) { $params['Job.JobStatus'] = []; $params['Job.JobStatus'][] = [ diff --git a/gui/baculum/protected/API/openapi_baculum.json b/gui/baculum/protected/API/openapi_baculum.json index 65de4994d..b50efc7a9 100644 --- a/gui/baculum/protected/API/openapi_baculum.json +++ b/gui/baculum/protected/API/openapi_baculum.json @@ -8584,6 +8584,15 @@ "schema": { "type": "string" } + }, + { + "name": "fileset", + "in": "query", + "required": false, + "description": "FileSet name", + "schema": { + "type": "string" + } } ] }