Stricter typing in Apiv4
authorEileen McNaughton <emcnaughton@wikimedia.org>
Wed, 1 Mar 2023 21:49:40 +0000 (10:49 +1300)
committerEileen McNaughton <emcnaughton@wikimedia.org>
Wed, 1 Mar 2023 21:49:40 +0000 (10:49 +1300)
Civi/Api4/Service/Spec/RequestSpec.php
Civi/Api4/Service/Spec/SpecGatherer.php
Civi/Api4/Utils/CoreUtil.php

index ac711c6aa8baa13575110ab544e66fec4c51170a..64c259b3cf680732d013c2ec779a735824a71912 100644 (file)
@@ -53,7 +53,7 @@ class RequestSpec implements \Iterator {
    * @param string $action
    * @param array $values
    */
-  public function __construct($entity, $action, $values = []) {
+  public function __construct(string $entity, string $action, array $values = []) {
     $this->entity = $entity;
     $this->action = $action;
     $this->entityTableName = CoreUtil::getTableName($entity);
index 849f90b75857a66dc3a2fc394f3aaed9722d08ae..9433a1b11ede1dff9bee20b26a4be96cccffa122 100644 (file)
@@ -32,7 +32,6 @@ class SpecGatherer extends AutoService {
   /**
    * Returns a RequestSpec with all the fields available. Uses spec providers
    * to add or modify field specifications.
-   * @see \Civi\Api4\Service\Spec\Provider\CustomFieldCreationSpecProvider
    *
    * @param string $entity
    * @param string $action
@@ -40,8 +39,11 @@ class SpecGatherer extends AutoService {
    * @param array $values
    *
    * @return \Civi\Api4\Service\Spec\RequestSpec
+   * @throws \CRM_Core_Exception
+   * @see \Civi\Api4\Service\Spec\Provider\CustomFieldCreationSpecProvider
+   *
    */
-  public function getSpec($entity, $action, $includeCustom, $values = []) {
+  public function getSpec(string $entity, string $action, bool $includeCustom, array $values = []): RequestSpec {
     $specification = new RequestSpec($entity, $action, $values);
 
     // Real entities
index 630c9e7137dddf91bcba6721f9a8e62e3c15a3a1..a50543de89fd88b1b0723ef5a49aaa325675b74d 100644 (file)
@@ -74,7 +74,7 @@ class CoreUtil {
    *
    * @return string
    */
-  public static function getTableName($entityName) {
+  public static function getTableName(string $entityName) {
     return self::getInfoItem($entityName, 'table_name');
   }