APIv4 - Delete unused Entity::getLinks action
authorcolemanw <coleman@civicrm.org>
Fri, 8 Dec 2023 02:04:05 +0000 (21:04 -0500)
committercolemanw <coleman@civicrm.org>
Fri, 8 Dec 2023 12:43:14 +0000 (07:43 -0500)
This api action was never used outside core, and has been deprecated for a year and a half.

Civi/Api4/Action/Entity/GetLinks.php [deleted file]
Civi/Api4/Entity.php
tests/phpunit/api/v4/Action/ChainTest.php

diff --git a/Civi/Api4/Action/Entity/GetLinks.php b/Civi/Api4/Action/Entity/GetLinks.php
deleted file mode 100644 (file)
index e05d66d..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-<?php
-
-/*
- +--------------------------------------------------------------------+
- | Copyright CiviCRM LLC. All rights reserved.                        |
- |                                                                    |
- | This work is published under the GNU AGPLv3 license with some      |
- | permitted exceptions and without any warranty. For full license    |
- | and copyright information, see https://civicrm.org/licensing       |
- +--------------------------------------------------------------------+
- */
-
-namespace Civi\Api4\Action\Entity;
-
-use Civi\Api4\Utils\CoreUtil;
-
-/**
- * Get a list of FK links between entities.
- *
- * This action is deprecated; the API no longer uses these links to determine available joins.
- * @deprecated
- */
-class GetLinks extends \Civi\Api4\Generic\BasicGetAction {
-
-  public function getRecords() {
-    \CRM_Core_Error::deprecatedWarning('APIv4 Entity::getLinks is deprecated.');
-    $result = [];
-    $schema = CoreUtil::getSchemaMap();
-    foreach ($schema->getTables() as $table) {
-      $entity = CoreUtil::getApiNameFromTableName($table->getName());
-      // Since this is an api function, exclude tables that don't have an api
-      if ($entity) {
-        $item = [
-          'entity' => $entity,
-          'table' => $table->getName(),
-          'links' => [],
-        ];
-        foreach ($table->getTableLinks() as $link) {
-          if (!$link->isDeprecatedBy()) {
-            $item['links'][] = $link->toArray();
-          }
-        }
-        $result[] = $item;
-      }
-    }
-    return $result;
-  }
-
-  public function fields() {
-    return [
-      [
-        'name' => 'entity',
-      ],
-      [
-        'name' => 'table',
-      ],
-      [
-        'name' => 'links',
-        'data_type' => 'Array',
-      ],
-    ];
-  }
-
-}
index a595df8575dd429d0b9a61d3ae5627e751905261..50f37871ac923766629f30e72315487113033dcc 100644 (file)
@@ -173,16 +173,6 @@ class Entity extends Generic\AbstractEntity {
       ->setCheckPermissions($checkPermissions);
   }
 
-  /**
-   * @param bool $checkPermissions
-   * @deprecated
-   * @return Action\Entity\GetLinks
-   */
-  public static function getLinks($checkPermissions = TRUE) {
-    return (new Action\Entity\GetLinks('Entity', __FUNCTION__))
-      ->setCheckPermissions($checkPermissions);
-  }
-
   /**
    * @return array
    */
index 2f2a8a6a5adb70444f49aba1ac5faf68d7fb9758..7cd87deab0d683eccb6cca6ac9e088946f41ab3d 100644 (file)
@@ -59,7 +59,7 @@ class ChainTest extends Api4TestBase implements TransactionalInterface {
       ->indexBy('name');
 
     $this->assertArrayHasKey('replace', $entities['Contact']['actions']);
-    $this->assertArrayHasKey('getLinks', $entities['Entity']['actions']);
+    $this->assertArrayHasKey('autocomplete', $entities['Entity']['actions']);
     $this->assertArrayNotHasKey('replace', $entities['Entity']['actions']);
   }