mirror of
https://github.com/Icinga/icingaweb2-module-director.git
synced 2025-07-27 07:44:05 +02:00
Objects: add uuid column
This commit is contained in:
parent
65bbaa9f98
commit
792ff03a6d
@ -8,18 +8,21 @@ class IcingaApiUser extends IcingaObject
|
||||
{
|
||||
protected $table = 'icinga_apiuser';
|
||||
|
||||
protected $uuidColumn = 'uuid';
|
||||
|
||||
// TODO: Enable (and add table) if required
|
||||
protected $supportsImports = false;
|
||||
|
||||
protected $defaultProperties = array(
|
||||
protected $defaultProperties = [
|
||||
'id' => null,
|
||||
'uuid' => null,
|
||||
'object_name' => null,
|
||||
'object_type' => null,
|
||||
'disabled' => 'n',
|
||||
'password' => null,
|
||||
'client_dn' => null,
|
||||
'permissions' => null,
|
||||
);
|
||||
];
|
||||
|
||||
protected function renderPassword()
|
||||
{
|
||||
|
@ -18,8 +18,11 @@ class IcingaCommand extends IcingaObject implements ObjectWithArguments, ExportI
|
||||
|
||||
protected $type = 'CheckCommand';
|
||||
|
||||
protected $uuidColumn = 'uuid';
|
||||
|
||||
protected $defaultProperties = [
|
||||
'id' => null,
|
||||
'uuid' => null,
|
||||
'object_name' => null,
|
||||
'object_type' => null,
|
||||
'disabled' => 'n',
|
||||
|
@ -16,6 +16,7 @@ class IcingaDependency extends IcingaObject implements ExportInterface
|
||||
|
||||
protected $defaultProperties = [
|
||||
'id' => null,
|
||||
'uuid' => null,
|
||||
'object_name' => null,
|
||||
'object_type' => null,
|
||||
'disabled' => 'n',
|
||||
@ -34,6 +35,8 @@ class IcingaDependency extends IcingaObject implements ExportInterface
|
||||
'parent_service_by_name' => null,
|
||||
];
|
||||
|
||||
protected $uuidColumn = 'uuid';
|
||||
|
||||
protected $supportsCustomVars = false;
|
||||
|
||||
protected $supportsImports = true;
|
||||
|
@ -15,8 +15,11 @@ class IcingaEndpoint extends IcingaObject
|
||||
|
||||
protected $supportsImports = true;
|
||||
|
||||
protected $uuidColumn = 'uuid';
|
||||
|
||||
protected $defaultProperties = [
|
||||
'id' => null,
|
||||
'uuid' => null,
|
||||
'zone_id' => null,
|
||||
'object_name' => null,
|
||||
'object_type' => null,
|
||||
|
@ -22,6 +22,7 @@ class IcingaHost extends IcingaObject implements ExportInterface
|
||||
|
||||
protected $defaultProperties = array(
|
||||
'id' => null,
|
||||
'uuid' => null,
|
||||
'object_name' => null,
|
||||
'object_type' => null,
|
||||
'disabled' => 'n',
|
||||
@ -101,6 +102,8 @@ class IcingaHost extends IcingaObject implements ExportInterface
|
||||
/** @var HostGroupMembershipResolver */
|
||||
protected $hostgroupMembershipResolver;
|
||||
|
||||
protected $uuidColumn = 'uuid';
|
||||
|
||||
public static function enumProperties(
|
||||
DbConnection $connection = null,
|
||||
$prefix = '',
|
||||
|
@ -14,6 +14,7 @@ class IcingaNotification extends IcingaObject implements ExportInterface
|
||||
|
||||
protected $defaultProperties = [
|
||||
'id' => null,
|
||||
'uuid' => null,
|
||||
'object_name' => null,
|
||||
'object_type' => null,
|
||||
'disabled' => 'n',
|
||||
@ -31,6 +32,8 @@ class IcingaNotification extends IcingaObject implements ExportInterface
|
||||
'assign_filter' => null,
|
||||
];
|
||||
|
||||
protected $uuidColumn = 'uuid';
|
||||
|
||||
protected $supportsCustomVars = true;
|
||||
|
||||
protected $supportsFields = true;
|
||||
|
@ -2159,6 +2159,11 @@ abstract class IcingaObject extends DbObject implements IcingaConfigRenderer
|
||||
return '';
|
||||
}
|
||||
|
||||
public function renderUuid()
|
||||
{
|
||||
return '';
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
@ -2785,6 +2790,9 @@ abstract class IcingaObject extends DbObject implements IcingaConfigRenderer
|
||||
|
||||
foreach ($p as $k => $v) {
|
||||
// Do not ship ids for IcingaObjects:
|
||||
if ($k === $this->getUuidColumn()) {
|
||||
continue;
|
||||
}
|
||||
if ($resolveIds) {
|
||||
if ($k === 'id' && $keepId === false && $this->hasProperty('object_name')) {
|
||||
continue;
|
||||
@ -3003,6 +3011,9 @@ abstract class IcingaObject extends DbObject implements IcingaConfigRenderer
|
||||
public function getUrlParams()
|
||||
{
|
||||
$params = [];
|
||||
if ($column = $this->getUuidColumn()) {
|
||||
return [$column => $this->getUniqueId()->toString()];
|
||||
}
|
||||
|
||||
if ($this->isApplyRule() && ! $this instanceof IcingaScheduledDowntime) {
|
||||
$params['id'] = $this->get('id');
|
||||
@ -3056,6 +3067,9 @@ abstract class IcingaObject extends DbObject implements IcingaConfigRenderer
|
||||
if ($k === 'id' && $this->hasProperty('object_name')) {
|
||||
continue;
|
||||
}
|
||||
if ($k === $this->getUuidColumn()) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if ('_id' === substr($k, -3)) {
|
||||
$relKey = substr($k, 0, -3);
|
||||
|
@ -12,8 +12,11 @@ abstract class IcingaObjectGroup extends IcingaObject implements ExportInterface
|
||||
|
||||
protected $supportedInLegacy = true;
|
||||
|
||||
protected $uuidColumn = 'uuid';
|
||||
|
||||
protected $defaultProperties = [
|
||||
'id' => null,
|
||||
'uuid' => null,
|
||||
'object_name' => null,
|
||||
'object_type' => null,
|
||||
'disabled' => 'n',
|
||||
|
@ -11,6 +11,7 @@ class IcingaScheduledDowntime extends IcingaObject
|
||||
|
||||
protected $defaultProperties = [
|
||||
'id' => null,
|
||||
'uuid' => null,
|
||||
'zone_id' => null,
|
||||
'object_name' => null,
|
||||
'object_type' => null,
|
||||
@ -24,6 +25,8 @@ class IcingaScheduledDowntime extends IcingaObject
|
||||
'with_services' => null,
|
||||
];
|
||||
|
||||
protected $uuidColumn = 'uuid';
|
||||
|
||||
protected $supportsImports = true;
|
||||
|
||||
protected $supportsRanges = true;
|
||||
|
@ -23,8 +23,11 @@ class IcingaService extends IcingaObject implements ExportInterface
|
||||
|
||||
protected $table = 'icinga_service';
|
||||
|
||||
protected $uuidColumn = 'uuid';
|
||||
|
||||
protected $defaultProperties = [
|
||||
'id' => null,
|
||||
'uuid' => null,
|
||||
'object_name' => null,
|
||||
'object_type' => null,
|
||||
'disabled' => 'n',
|
||||
|
@ -10,8 +10,11 @@ class IcingaTimePeriod extends IcingaObject implements ExportInterface
|
||||
{
|
||||
protected $table = 'icinga_timeperiod';
|
||||
|
||||
protected $defaultProperties = array(
|
||||
protected $uuidColumn = 'uuid';
|
||||
|
||||
protected $defaultProperties = [
|
||||
'id' => null,
|
||||
'uuid' => null,
|
||||
'zone_id' => null,
|
||||
'object_name' => null,
|
||||
'object_type' => null,
|
||||
@ -19,7 +22,7 @@ class IcingaTimePeriod extends IcingaObject implements ExportInterface
|
||||
'prefer_includes' => null,
|
||||
'display_name' => null,
|
||||
'update_method' => null,
|
||||
);
|
||||
];
|
||||
|
||||
protected $booleans = [
|
||||
'prefer_includes' => 'prefer_includes',
|
||||
|
@ -12,6 +12,7 @@ class IcingaUser extends IcingaObject implements ExportInterface
|
||||
|
||||
protected $defaultProperties = array(
|
||||
'id' => null,
|
||||
'uuid' => null,
|
||||
'object_name' => null,
|
||||
'object_type' => null,
|
||||
'disabled' => 'n',
|
||||
@ -23,6 +24,8 @@ class IcingaUser extends IcingaObject implements ExportInterface
|
||||
'zone_id' => null,
|
||||
);
|
||||
|
||||
protected $uuidColumn = 'uuid';
|
||||
|
||||
protected $supportsGroups = true;
|
||||
|
||||
protected $supportsCustomVars = true;
|
||||
|
@ -6,8 +6,11 @@ class IcingaUserGroup extends IcingaObjectGroup
|
||||
{
|
||||
protected $table = 'icinga_usergroup';
|
||||
|
||||
protected $uuidColumn = 'uuid';
|
||||
|
||||
protected $defaultProperties = [
|
||||
'id' => null,
|
||||
'uuid' => null,
|
||||
'object_name' => null,
|
||||
'object_type' => null,
|
||||
'disabled' => 'n',
|
||||
|
@ -10,8 +10,11 @@ class IcingaZone extends IcingaObject
|
||||
{
|
||||
protected $table = 'icinga_zone';
|
||||
|
||||
protected $uuidColumn = 'uuid';
|
||||
|
||||
protected $defaultProperties = [
|
||||
'id' => null,
|
||||
'uuid' => null,
|
||||
'object_name' => null,
|
||||
'object_type' => null,
|
||||
'disabled' => 'n',
|
||||
|
Loading…
x
Reference in New Issue
Block a user