* @param array $time_scope time range for events time
* @param int|null $limit_val limit results value
*/
- public function getEvents($criteria = [], $time_scope = [], $limit_val = null) {
+ public function getEvents($criteria = [], $time_scope = [], $limit_val = 0, $offset_val = 0) {
$sort_col = 'EventsId';
$db_params = $this->getModule('api_config')->getConfig('db');
if ($db_params['type'] === Database::PGSQL_TYPE) {
if(is_int($limit_val) && $limit_val > 0) {
$limit = ' LIMIT ' . $limit_val;
}
+ $offset = '';
+ if (is_int($offset_val) && $offset_val > 0) {
+ $offset = ' OFFSET ' . $offset_val;
+ }
$where = Database::getWhere($criteria, true);
$where['where'] = ' WHERE ' . $where['where'];
}
- $sql = 'SELECT Events.* FROM Events ' . $where['where'] . $order . $limit;
+ $sql = 'SELECT Events.* FROM Events ' . $where['where'] . $order . $limit . $offset;
return EventRecord::finder()->findAllBySql($sql, $where['params']);
}
* @package Baculum API
*/
class PoolManager extends APIModule {
- public function getPools($limit) {
+ public function getPools($limit_val = 0, $offset_val = 0) {
$criteria = new TActiveRecordCriteria;
$order = 'Name';
$db_params = $this->getModule('api_config')->getConfig('db');
$order = strtolower($order);
}
$criteria->OrdersBy[$order] = 'asc';
- if(is_int($limit) && $limit > 0) {
- $criteria->Limit = $limit;
+ if(is_int($limit_val) && $limit_val > 0) {
+ $criteria->Limit = $limit_val;
+ }
+ if (is_int($offset_val) && $offset_val > 0) {
+ $criteria->Offset = $offset_val;
}
return PoolRecord::finder()->findAll($criteria);
}
public function get() {
$misc = $this->getModule('misc');
$limit = $this->Request->contains('limit') ? intval($this->Request['limit']) : 0;
+ $offset = $this->Request->contains('offset') && $misc->isValidInteger($this->Request['offset']) ? (int)$this->Request['offset'] : 0;
$eventscode = $this->Request->contains('eventscode') && $misc->isValidName($this->Request['eventscode']) ? $this->Request['eventscode'] : null;
$eventstype = $this->Request->contains('eventstype') && $misc->isValidName($this->Request['eventstype']) ? $this->Request['eventstype'] : null;
$eventstimestart = $this->Request->contains('eventstimestart') && $misc->isValidBDate($this->Request['eventstimestart']) ? $this->Request['eventstimestart'] : null;
$time_scope['eventstimeend'] = $eventstimeend;
}
- $events = $this->getModule('event')->getEvents($params, $time_scope, $limit);
+ $events = $this->getModule('event')->getEvents($params, $time_scope, $limit, $offset);
$this->output = $events;
$this->error = EventError::ERROR_NO_ERRORS;
}
*/
class Pools extends BaculumAPIServer {
public function get() {
+ $misc = $this->getModule('misc');
$limit = $this->Request->contains('limit') ? intval($this->Request['limit']) : 0;
- $pools = $this->getModule('pool')->getPools($limit);
+ $offset = $this->Request->contains('offset') && $misc->isValidInteger($this->Request['offset']) ? (int)$this->Request['offset'] : 0;
+ $pools = $this->getModule('pool')->getPools($limit, $offset);
$result = $this->getModule('bconsole')->bconsoleCommand(
$this->director,
['.pool'],
}
}
},
- "parameters": [{
- "$ref": "#/components/parameters/Limit"
- }]
+ "parameters": [
+ {
+ "$ref": "#/components/parameters/Limit"
+ },
+ {
+ "$ref": "#/components/parameters/Offset"
+ }
+ ]
}
},
"/api/v2/pools/{poolid}": {
{
"$ref": "#/components/parameters/Limit"
},
+ {
+ "$ref": "#/components/parameters/Offset"
+ },
{
"name": "eventscode",
"in": "query",