]> git.ipfire.org Git - thirdparty/bacula.git/commitdiff
Add afterjobid parameter to job list endpoint
authorMarcin Haba <marcin.haba@bacula.pl>
Mon, 12 Dec 2022 09:13:57 +0000 (10:13 +0100)
committerMarcin Haba <marcin.haba@bacula.pl>
Mon, 9 Jan 2023 12:34:42 +0000 (13:34 +0100)
gui/baculum/protected/API/Pages/API/Jobs.php
gui/baculum/protected/API/openapi_baculum.json

index 34161e64755e630e8a106ede2c50cf4932e1a16e..7f6021e3ca280ca28ef49ce0bef06982dfd08020 100644 (file)
@@ -36,6 +36,7 @@ class Jobs extends BaculumAPIServer {
        public function get() {
                $misc = $this->getModule('misc');
                $jobids = $this->Request->contains('jobids') && $misc->isValidIdsList($this->Request['jobids']) ? $this->Request['jobids'] : '';
+               $afterjobid = $this->Request->contains('afterjobid') && $misc->isValidInteger($this->Request['afterjobid']) ? $this->Request['afterjobid'] : 0;
                $limit = $this->Request->contains('limit') && $misc->isValidInteger($this->Request['limit']) ? (int)$this->Request['limit'] : 0;
                $offset = $this->Request->contains('offset') && $misc->isValidInteger($this->Request['offset']) ? (int)$this->Request['offset'] : 0;
                $jobstatus = $this->Request->contains('jobstatus') ? $this->Request['jobstatus'] : '';
@@ -109,6 +110,15 @@ class Jobs extends BaculumAPIServer {
 
 
                $params = [];
+
+               if ($afterjobid > 0) {
+                       $params['Job.JobId'] = [];
+                       $params['Job.JobId'][] = [
+                               'operator' => '>',
+                               'vals' => $afterjobid
+                       ];
+               }
+
                $jobstatuses = array_keys($misc->getJobState());
                $sts = str_split($jobstatus);
                $counter = 0;
index 74472c08fd0770cbed9c21e94afb357cd0462260..3b8df22e7bc5e3d8328cef02afd56872a7277d8f 100644 (file)
                                                        "type": "string"
                                                }
                                        },
+                                       {
+                                               "name": "afterjobid",
+                                               "in": "query",
+                                               "required": false,
+                                               "description": "Displays jobs after given job identifier with excluding the given jobid.",
+                                               "schema": {
+                                                       "type": "integer"
+                                               }
+                                       },
                                        {
                                                "name": "jobstatus",
                                                "in": "query",