Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
Bacula Community Edition
Bacula Community
Commits
b6fdc3fe
Commit
b6fdc3fe
authored
Nov 16, 2022
by
Marcin Haba
Browse files
baculum: Add time range parameters to objects endpoint
parent
e84cf590
Changes
2
Hide whitespace changes
Inline
Side-by-side
gui/baculum/protected/API/Pages/API/Objects.php
View file @
b6fdc3fe
...
...
@@ -44,6 +44,14 @@ class Objects extends BaculumAPIServer {
$jobname
=
$this
->
Request
->
contains
(
'jobname'
)
&&
$misc
->
isValidName
(
$this
->
Request
[
'jobname'
])
?
$this
->
Request
[
'jobname'
]
:
null
;
$jobids
=
$this
->
Request
->
contains
(
'jobids'
)
&&
$misc
->
isValidIdsList
(
$this
->
Request
[
'jobids'
])
?
explode
(
','
,
$this
->
Request
[
'jobids'
])
:
[];
$groupby
=
$this
->
Request
->
contains
(
'groupby'
)
&&
$misc
->
isValidColumn
(
$this
->
Request
[
'groupby'
])
?
strtolower
(
$this
->
Request
[
'groupby'
])
:
null
;
$schedtime_from
=
$this
->
Request
->
contains
(
'schedtime_from'
)
&&
$misc
->
isValidInteger
(
$this
->
Request
[
'schedtime_from'
])
?
(
int
)
$this
->
Request
[
'schedtime_from'
]
:
null
;
$schedtime_to
=
$this
->
Request
->
contains
(
'schedtime_to'
)
&&
$misc
->
isValidInteger
(
$this
->
Request
[
'schedtime_to'
])
?
(
int
)
$this
->
Request
[
'schedtime_to'
]
:
null
;
$starttime_from
=
$this
->
Request
->
contains
(
'starttime_from'
)
&&
$misc
->
isValidInteger
(
$this
->
Request
[
'starttime_from'
])
?
(
int
)
$this
->
Request
[
'starttime_from'
]
:
null
;
$starttime_to
=
$this
->
Request
->
contains
(
'starttime_to'
)
&&
$misc
->
isValidInteger
(
$this
->
Request
[
'starttime_to'
])
?
(
int
)
$this
->
Request
[
'starttime_to'
]
:
null
;
$endtime_from
=
$this
->
Request
->
contains
(
'endtime_from'
)
&&
$misc
->
isValidInteger
(
$this
->
Request
[
'endtime_from'
])
?
(
int
)
$this
->
Request
[
'endtime_from'
]
:
null
;
$endtime_to
=
$this
->
Request
->
contains
(
'endtime_to'
)
&&
$misc
->
isValidInteger
(
$this
->
Request
[
'endtime_to'
])
?
(
int
)
$this
->
Request
[
'endtime_to'
]
:
null
;
$realendtime_from
=
$this
->
Request
->
contains
(
'realendtime_from'
)
&&
$misc
->
isValidInteger
(
$this
->
Request
[
'realendtime_from'
])
?
(
int
)
$this
->
Request
[
'realendtime_from'
]
:
null
;
$realendtime_to
=
$this
->
Request
->
contains
(
'realendtime_to'
)
&&
$misc
->
isValidInteger
(
$this
->
Request
[
'realendtime_to'
])
?
(
int
)
$this
->
Request
[
'realendtime_to'
]
:
null
;
if
(
is_string
(
$groupby
))
{
$or
=
new
\
ReflectionClass
(
'Baculum\API\Modules\ObjectRecord'
);
...
...
@@ -118,6 +126,74 @@ class Objects extends BaculumAPIServer {
];
}
// Scheduled time range
if
(
!
empty
(
$schedtime_from
)
||
!
empty
(
$schedtime_to
))
{
$params
[
'Job.SchedTime'
]
=
[];
if
(
!
empty
(
$schedtime_from
))
{
$params
[
'Job.SchedTime'
][]
=
[
'operator'
=>
'>='
,
'vals'
=>
date
(
'Y-m-d H:m:s'
,
$schedtime_from
)
];
}
if
(
!
empty
(
$schedtime_to
))
{
$params
[
'Job.SchedTime'
][]
=
[
'operator'
=>
'<='
,
'vals'
=>
date
(
'Y-m-d H:m:s'
,
$schedtime_to
)
];
}
}
// Start time range
if
(
!
empty
(
$starttime_from
)
||
!
empty
(
$starttime_to
))
{
$params
[
'Job.StartTime'
]
=
[];
if
(
!
empty
(
$starttime_from
))
{
$params
[
'Job.StartTime'
][]
=
[
'operator'
=>
'>='
,
'vals'
=>
date
(
'Y-m-d H:m:s'
,
$starttime_from
)
];
}
if
(
!
empty
(
$starttime_to
))
{
$params
[
'Job.StartTime'
][]
=
[
'operator'
=>
'<='
,
'vals'
=>
date
(
'Y-m-d H:m:s'
,
$starttime_to
)
];
}
}
// End time range
if
(
!
empty
(
$endtime_from
)
||
!
empty
(
$endtime_to
))
{
$params
[
'Job.EndTime'
]
=
[];
if
(
!
empty
(
$endtime_from
))
{
$params
[
'Job.EndTime'
][]
=
[
'operator'
=>
'>='
,
'vals'
=>
date
(
'Y-m-d H:m:s'
,
$endtime_from
)
];
}
if
(
!
empty
(
$endtime_to
))
{
$params
[
'Job.EndTime'
][]
=
[
'operator'
=>
'<='
,
'vals'
=>
date
(
'Y-m-d H:m:s'
,
$endtime_to
)
];
}
}
// Real end time range
if
(
!
empty
(
$realendtime_from
)
||
!
empty
(
$realendtime_to
))
{
$params
[
'Job.RealEndTime'
]
=
[];
if
(
!
empty
(
$realendtime_from
))
{
$params
[
'Job.RealEndTime'
][]
=
[
'operator'
=>
'>='
,
'vals'
=>
date
(
'Y-m-d H:m:s'
,
$realendtime_from
)
];
}
if
(
!
empty
(
$realendtime_to
))
{
$params
[
'Job.RealEndTime'
][]
=
[
'operator'
=>
'<='
,
'vals'
=>
date
(
'Y-m-d H:m:s'
,
$realendtime_to
)
];
}
}
$objects
=
$this
->
getModule
(
'object'
)
->
getObjects
(
$params
,
$limit
,
$groupby
);
$this
->
output
=
$objects
;
$this
->
error
=
ObjectError
::
ERROR_NO_ERRORS
;
...
...
gui/baculum/protected/API/openapi_baculum.json
View file @
b6fdc3fe
...
...
@@ -6375,6 +6375,78 @@
"schema"
:
{
"type"
:
"string"
}
},
{
"name"
:
"schedtime_from"
,
"in"
:
"query"
,
"required"
:
false
,
"description"
:
"Scheduled time from (UNIX timestamp format, seconds)"
,
"schema"
:
{
"type"
:
"integer"
}
},
{
"name"
:
"schedtime_to"
,
"in"
:
"query"
,
"required"
:
false
,
"description"
:
"Scheduled time to (UNIX timestamp format, seconds)"
,
"schema"
:
{
"type"
:
"integer"
}
},
{
"name"
:
"starttime_from"
,
"in"
:
"query"
,
"required"
:
false
,
"description"
:
"Start time from (UNIX timestamp format, seconds)"
,
"schema"
:
{
"type"
:
"integer"
}
},
{
"name"
:
"starttime_to"
,
"in"
:
"query"
,
"required"
:
false
,
"description"
:
"Start time to (UNIX timestamp format, seconds)"
,
"schema"
:
{
"type"
:
"integer"
}
},
{
"name"
:
"endtime_from"
,
"in"
:
"query"
,
"required"
:
false
,
"description"
:
"End time from (UNIX timestamp format, seconds)"
,
"schema"
:
{
"type"
:
"integer"
}
},
{
"name"
:
"endtime_to"
,
"in"
:
"query"
,
"required"
:
false
,
"description"
:
"End time to (UNIX timestamp format, seconds)"
,
"schema"
:
{
"type"
:
"integer"
}
},
{
"name"
:
"realendtime_from"
,
"in"
:
"query"
,
"required"
:
false
,
"description"
:
"Real end time from (UNIX timestamp format, seconds)"
,
"schema"
:
{
"type"
:
"integer"
}
},
{
"name"
:
"realendtime_to"
,
"in"
:
"query"
,
"required"
:
false
,
"description"
:
"Real end time to (UNIX timestamp format, seconds)"
,
"schema"
:
{
"type"
:
"integer"
}
}
]
}
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment