From 6c266d760a03273114f1e54786691fd92111aa80 Mon Sep 17 00:00:00 2001 From: Coleman Watts Date: Mon, 18 Apr 2022 20:22:25 -0400 Subject: [PATCH] APIv4 - Add Managed::reconcile() action. Adds APIv4 wrapper around ManagedEntities->reconcile(); --- Civi/Api4/Action/Managed/Reconcile.php | 48 +++++++++++++++++++ Civi/Api4/Managed.php | 9 ++++ .../api/v4/Entity/ManagedEntityTest.php | 3 +- 3 files changed, 59 insertions(+), 1 deletion(-) create mode 100644 Civi/Api4/Action/Managed/Reconcile.php diff --git a/Civi/Api4/Action/Managed/Reconcile.php b/Civi/Api4/Action/Managed/Reconcile.php new file mode 100644 index 0000000000..34268c7743 --- /dev/null +++ b/Civi/Api4/Action/Managed/Reconcile.php @@ -0,0 +1,48 @@ +modules[] = $moduleName; + return $this; + } + + /** + * @param \Civi\Api4\Generic\Result $result + */ + public function _run(Result $result) { + \CRM_Core_ManagedEntities::singleton()->reconcile($this->modules); + } + +} diff --git a/Civi/Api4/Managed.php b/Civi/Api4/Managed.php index e406dad63d..83e1b549c7 100644 --- a/Civi/Api4/Managed.php +++ b/Civi/Api4/Managed.php @@ -22,4 +22,13 @@ namespace Civi\Api4; */ class Managed extends Generic\DAOEntity { + /** + * @param bool $checkPermissions + * @return Action\Contact\GetChecksum + */ + public static function reconcile($checkPermissions = TRUE) { + return (new Action\Managed\Reconcile(__CLASS__, __FUNCTION__)) + ->setCheckPermissions($checkPermissions); + } + } diff --git a/tests/phpunit/api/v4/Entity/ManagedEntityTest.php b/tests/phpunit/api/v4/Entity/ManagedEntityTest.php index ee238e7797..5d90e3685c 100644 --- a/tests/phpunit/api/v4/Entity/ManagedEntityTest.php +++ b/tests/phpunit/api/v4/Entity/ManagedEntityTest.php @@ -21,6 +21,7 @@ namespace api\v4\Entity; use api\v4\UnitTestCase; use Civi\Api4\Domain; use Civi\Api4\Group; +use Civi\Api4\Managed; use Civi\Api4\Navigation; use Civi\Api4\OptionGroup; use Civi\Api4\OptionValue; @@ -82,7 +83,7 @@ class ManagedEntityTest extends UnitTestCase implements TransactionalInterface, ], ]; - \CRM_Core_ManagedEntities::singleton(TRUE)->reconcile(); + Managed::reconcile(FALSE)->addModule('civicrm')->execute(); $search = SavedSearch::get(FALSE) ->addWhere('name', '=', 'TestManagedSavedSearch') -- 2.25.1