dev/joomla/#28 5.27 Upgrade fails
[civicrm-core.git] / Civi / API / Provider / ProviderInterface.php
1 <?php
2 /*
3 +--------------------------------------------------------------------+
4 | Copyright CiviCRM LLC. All rights reserved. |
5 | |
6 | This work is published under the GNU AGPLv3 license with some |
7 | permitted exceptions and without any warranty. For full license |
8 | and copyright information, see https://civicrm.org/licensing |
9 +--------------------------------------------------------------------+
10 */
11
12 namespace Civi\API\Provider;
13
14 /**
15 * An API "provider" provides a means to execute API requests.
16 */
17 interface ProviderInterface {
18
19 /**
20 * @param array $apiRequest
21 * The full description of the API request.
22 * @return array
23 * structured response data (per civicrm_api3_create_success)
24 * @see civicrm_api3_create_success
25 * @throws \API_Exception
26 */
27 public function invoke($apiRequest);
28
29 /**
30 * @param int $version
31 * API version.
32 * @return array<string>
33 */
34 public function getEntityNames($version);
35
36 /**
37 * @param int $version
38 * API version.
39 * @param string $entity
40 * API entity.
41 * @return array<string>
42 */
43 public function getActionNames($version, $entity);
44
45 }