FROM Object
ORDER BY ObjectType';
$statement = Database::runQuery($sql);
- $result = $statement->fetchAll(\PDO::FETCH_GROUP);
- $values = array_keys($result);
- return $values;
+ $result = $statement->fetchAll(PDO::FETCH_COLUMN);
+ return $result;
}
/**
' . $where['where'] . '
ORDER BY ObjectName ' . $limit;
$statement = Database::runQuery($sql, $where['params']);
- $result = $statement->fetchAll(\PDO::FETCH_GROUP);
- $values = array_keys($result);
- return $values;
+ $result = $statement->fetchAll(PDO::FETCH_COLUMN);
+ return $result;
}
/**
* Get existing object categories.
*
+ * @param array $criteria SQL criteria in nested array format (@see Databaes::getWhere)
* @param integer $limit_val maximum number of elements to return
* @return array object names
*/
- public function getObjectCategories($limit_val = null) {
+ public function getObjectCategories($criteria = [], $limit_val = null) {
$limit = '';
if(is_int($limit_val) && $limit_val > 0) {
$limit = sprintf(
$limit_val
);
}
+ $where = Database::getWhere($criteria);
$sql = 'SELECT DISTINCT ObjectCategory as objectcategory
FROM Object
+ ' . $where['where'] . '
ORDER BY ObjectCategory ' . $limit;
- $statement = Database::runQuery($sql);
+ $statement = Database::runQuery($sql, $where['params']);
$result = $statement->fetchAll(PDO::FETCH_COLUMN);
return $result;
}
class ObjectCategories extends BaculumAPIServer {
public function get() {
+ $misc = $this->getModule('misc');
$limit = $this->Request->contains('limit') ? (int)$this->Request['limit'] : null;
+ $objecttype = $this->Request->contains('objecttype') && $misc->isValidName($this->Request['objecttype']) ? $this->Request['objecttype'] : null;
+
+ $params = [];
+ if (!empty($objecttype)) {
+ $params['Object.ObjectType'] = [];
+ $params['Object.ObjectType'][] = [
+ 'vals' => $objecttype
+ ];
+ }
$this->output = $this->getModule('object')->getObjectCategories(
+ $params,
$limit
);
$this->error = ObjectError::ERROR_NO_ERRORS;
"parameters": [
{
"$ref": "#/components/parameters/Limit"
+ },
+ {
+ "name": "objecttype",
+ "in": "query",
+ "required": false,
+ "description": "Object type, ex. 'm365' or 'PostgreSQL'",
+ "schema": {
+ "type": "string"
+ }
}
]
}
"name": "order_by",
"in": "query",
"required": false,
- "description": "Sort by selected object property (default endtime). There can be one from the following properties: objectname, client, jobstatus, endtime.",
+ "description": "Sort by selected object property (default endtime). There can be one from the following properties: objectname, objectcategory, client, fileset, jobstatus, endtime.",
"schema": {
"type": "string"
}