function drush_acquia_contenthub_list in Acquia Content Hub 8
Lists entities from the Content Hub.
Return value
mixed|false Returns a list of Content Hub Entities
File
- ./
acquia_contenthub.drush.inc, line 363 - ContentHub Drush Commands.
Code
function drush_acquia_contenthub_list() {
/** @var \Drupal\acquia_contenthub\Client\ClientManager $client_manager */
$client_manager = \Drupal::service('acquia_contenthub.client_manager');
$options = [];
// Obtaining the limit.
$limit = drush_get_option("limit");
if (isset($limit)) {
$limit = (int) $limit;
if ($limit < 1 || $limit > 1000) {
return drush_set_error(dt("The limit has to be an integer from 1 to 1000."));
}
else {
$options['limit'] = $limit;
}
}
// Obtaining the offset.
$start = drush_get_option("start");
if (isset($start)) {
if (!is_numeric($start)) {
return drush_set_error(dt("The start offset has to be numeric starting from 0."));
}
else {
$options['start'] = $start;
}
}
// Filtering by origin.
$origin = drush_get_option("origin");
if (isset($origin)) {
if (Uuid::isValid($origin)) {
$options['origin'] = $origin;
}
else {
return drush_set_error(dt("The origin has to be a valid UUID."));
}
}
// Filtering by language.
$language = drush_get_option("language");
if (isset($language)) {
if (strlen($language) == 2) {
$options['language'] = $language;
}
else {
return drush_set_error(dt("The language has to be provided as a 2-letter language code."));
}
}
// Filtering by fields.
$fields = drush_get_option("attributes");
if (isset($fields)) {
$options['fields'] = $fields;
}
// Filtering by type.
$type = drush_get_option("type");
if (isset($type)) {
$options['type'] = $type;
}
// Building the filters.
$filters = drush_get_option("filters");
if (isset($filters)) {
$filters = isset($filters) ? explode(",", $filters) : FALSE;
foreach ($filters as $key => $filter) {
list($name, $value) = explode("=", $filter);
$filters[$name] = $value;
unset($filters[$key]);
}
$options['filters'] = $filters;
}
if ($client_manager
->isConnected()) {
$list = $client_manager
->createRequest('listEntities', [
$options,
]);
return $list;
}
else {
return drush_set_error(dt('Error trying to connect to the Content Hub. Make sure this site is registered to Content hub.'));
}
}