From d44cc3cb7b0e355c07e687c908ce04cebe03a271 Mon Sep 17 00:00:00 2001 From: Coleman Watts Date: Wed, 23 Jun 2021 15:05:25 -0400 Subject: [PATCH] APIv4 - Add `@since` annotation to each entity This will be output by `Entity:get` to show which version each entity was added --- Civi/Api4/ACL.php | 1 + Civi/Api4/ACLEntityRole.php | 1 + Civi/Api4/ActionSchedule.php | 1 + Civi/Api4/Activity.php | 1 + Civi/Api4/ActivityContact.php | 1 + Civi/Api4/Address.php | 1 + Civi/Api4/Batch.php | 1 + Civi/Api4/Campaign.php | 1 + Civi/Api4/CaseActivity.php | 1 + Civi/Api4/CaseContact.php | 1 + Civi/Api4/CaseType.php | 1 + Civi/Api4/CiviCase.php | 1 + Civi/Api4/Contact.php | 1 + Civi/Api4/ContactType.php | 1 + Civi/Api4/Contribution.php | 1 + Civi/Api4/ContributionPage.php | 1 + Civi/Api4/ContributionRecur.php | 1 + Civi/Api4/ContributionSoft.php | 1 + Civi/Api4/Country.php | 1 + Civi/Api4/CustomField.php | 1 + Civi/Api4/CustomGroup.php | 1 + Civi/Api4/Dashboard.php | 1 + Civi/Api4/DashboardContact.php | 1 + Civi/Api4/DedupeException.php | 1 + Civi/Api4/DedupeRule.php | 1 + Civi/Api4/DedupeRuleGroup.php | 1 + Civi/Api4/Domain.php | 1 + Civi/Api4/Email.php | 1 + Civi/Api4/Entity.php | 6 ++++++ Civi/Api4/EntityFinancialAccount.php | 1 + Civi/Api4/EntityFinancialTrxn.php | 1 + Civi/Api4/EntityTag.php | 1 + Civi/Api4/Event.php | 1 + Civi/Api4/FinancialAccount.php | 1 + Civi/Api4/FinancialItem.php | 2 +- Civi/Api4/FinancialTrxn.php | 1 + Civi/Api4/FinancialType.php | 1 + Civi/Api4/Grant.php | 1 + Civi/Api4/Group.php | 1 + Civi/Api4/GroupContact.php | 1 + Civi/Api4/GroupNesting.php | 1 + Civi/Api4/GroupOrganization.php | 1 + Civi/Api4/IM.php | 1 + Civi/Api4/LineItem.php | 1 + Civi/Api4/LocBlock.php | 1 + Civi/Api4/LocationType.php | 1 + Civi/Api4/MailSettings.php | 1 + Civi/Api4/Mapping.php | 1 + Civi/Api4/MappingField.php | 1 + Civi/Api4/MembershipType.php | 1 + Civi/Api4/MessageTemplate.php | 1 + Civi/Api4/Navigation.php | 1 + Civi/Api4/Note.php | 1 + Civi/Api4/OpenID.php | 1 + Civi/Api4/OptionGroup.php | 1 + Civi/Api4/OptionValue.php | 1 + Civi/Api4/PCPBlock.php | 1 + Civi/Api4/Participant.php | 1 + Civi/Api4/PaymentProcessor.php | 1 + Civi/Api4/PaymentProcessorType.php | 1 + Civi/Api4/PaymentToken.php | 1 + Civi/Api4/Permission.php | 1 + Civi/Api4/Phone.php | 1 + Civi/Api4/Pledge.php | 1 + Civi/Api4/PledgePayment.php | 1 + Civi/Api4/PriceField.php | 1 + Civi/Api4/PriceFieldValue.php | 1 + Civi/Api4/PriceSet.php | 1 + Civi/Api4/Relationship.php | 1 + Civi/Api4/RelationshipCache.php | 1 + Civi/Api4/RelationshipType.php | 1 + Civi/Api4/Route.php | 1 + Civi/Api4/SavedSearch.php | 1 + Civi/Api4/Setting.php | 1 + Civi/Api4/StateProvince.php | 1 + Civi/Api4/StatusPreference.php | 1 + Civi/Api4/System.php | 1 + Civi/Api4/Tag.php | 1 + Civi/Api4/Translation.php | 1 + Civi/Api4/UFField.php | 1 + Civi/Api4/UFGroup.php | 1 + Civi/Api4/UFJoin.php | 1 + Civi/Api4/UFMatch.php | 1 + Civi/Api4/Website.php | 1 + Civi/Api4/WordReplacement.php | 1 + ang/api4Explorer/Explorer.js | 1 + tests/phpunit/api/v4/Entity/ConformanceTest.php | 1 + 87 files changed, 92 insertions(+), 1 deletion(-) diff --git a/Civi/Api4/ACL.php b/Civi/Api4/ACL.php index df7ac101a1..2f0d271de2 100644 --- a/Civi/Api4/ACL.php +++ b/Civi/Api4/ACL.php @@ -32,6 +32,7 @@ namespace Civi\Api4; * * @searchable none * @see https://docs.civicrm.org/user/en/latest/initial-set-up/permissions-and-access-control + * @since 5.19 * @package Civi\Api4 */ class ACL extends Generic\DAOEntity { diff --git a/Civi/Api4/ACLEntityRole.php b/Civi/Api4/ACLEntityRole.php index aa0047d4f9..1cbcffeafa 100644 --- a/Civi/Api4/ACLEntityRole.php +++ b/Civi/Api4/ACLEntityRole.php @@ -23,6 +23,7 @@ namespace Civi\Api4; * This api exposes CiviCRM ACLEntityRole. * * @see https://docs.civicrm.org/user/en/latest/initial-set-up/permissions-and-access-control + * @since 5.39 * @package Civi\Api4 */ class ACLEntityRole extends Generic\DAOEntity { diff --git a/Civi/Api4/ActionSchedule.php b/Civi/Api4/ActionSchedule.php index 4f2a6f1fe3..6cd4d1d42a 100644 --- a/Civi/Api4/ActionSchedule.php +++ b/Civi/Api4/ActionSchedule.php @@ -30,6 +30,7 @@ namespace Civi\Api4; * * @searchable none * @see https://docs.civicrm.org/user/en/latest/email/scheduled-reminders/ + * @since 5.19 * @package Civi\Api4 */ class ActionSchedule extends Generic\DAOEntity { diff --git a/Civi/Api4/Activity.php b/Civi/Api4/Activity.php index 8166c62825..e7711f1122 100644 --- a/Civi/Api4/Activity.php +++ b/Civi/Api4/Activity.php @@ -31,6 +31,7 @@ namespace Civi\Api4; * * @see https://docs.civicrm.org/user/en/latest/organising-your-data/activities/ * @searchable primary + * @since 5.19 * @package Civi\Api4 */ class Activity extends Generic\DAOEntity { diff --git a/Civi/Api4/ActivityContact.php b/Civi/Api4/ActivityContact.php index 767595de70..061b0f7723 100644 --- a/Civi/Api4/ActivityContact.php +++ b/Civi/Api4/ActivityContact.php @@ -29,6 +29,7 @@ namespace Civi\Api4; * * @searchable bridge * @see \Civi\Api4\Activity + * @since 5.19 * @package Civi\Api4 */ class ActivityContact extends Generic\DAOEntity { diff --git a/Civi/Api4/Address.php b/Civi/Api4/Address.php index a8e53641e6..9861b53ee3 100644 --- a/Civi/Api4/Address.php +++ b/Civi/Api4/Address.php @@ -31,6 +31,7 @@ namespace Civi\Api4; * @ui_join_filters location_type_id * * @searchable secondary + * @since 5.19 * @package Civi\Api4 */ class Address extends Generic\DAOEntity { diff --git a/Civi/Api4/Batch.php b/Civi/Api4/Batch.php index 7e48003af6..38e0b66db3 100644 --- a/Civi/Api4/Batch.php +++ b/Civi/Api4/Batch.php @@ -24,6 +24,7 @@ namespace Civi\Api4; * * @searchable secondary * @see https://docs.civicrm.org/user/en/latest/pledges/everyday-tasks/#batch-entry-of-pledges + * @since 5.37 * @package Civi\Api4 */ class Batch extends Generic\DAOEntity { diff --git a/Civi/Api4/Campaign.php b/Civi/Api4/Campaign.php index 11e8834139..67d707b87c 100644 --- a/Civi/Api4/Campaign.php +++ b/Civi/Api4/Campaign.php @@ -24,6 +24,7 @@ namespace Civi\Api4; * * @see https://docs.civicrm.org/user/en/latest/campaign/what-is-civicampaign/ * @searchable secondary + * @since 5.19 * @package Civi\Api4 */ class Campaign extends Generic\DAOEntity { diff --git a/Civi/Api4/CaseActivity.php b/Civi/Api4/CaseActivity.php index f38ce21ee9..c3da5237c4 100644 --- a/Civi/Api4/CaseActivity.php +++ b/Civi/Api4/CaseActivity.php @@ -26,6 +26,7 @@ namespace Civi\Api4; * * @searchable bridge * @see \Civi\Api4\Case + * @since 5.37 * @package Civi\Api4 */ class CaseActivity extends Generic\DAOEntity { diff --git a/Civi/Api4/CaseContact.php b/Civi/Api4/CaseContact.php index a9351a9798..2feb9e08ef 100644 --- a/Civi/Api4/CaseContact.php +++ b/Civi/Api4/CaseContact.php @@ -26,6 +26,7 @@ namespace Civi\Api4; * * @searchable bridge * @see \Civi\Api4\Case + * @since 5.37 * @package Civi\Api4 */ class CaseContact extends Generic\DAOEntity { diff --git a/Civi/Api4/CaseType.php b/Civi/Api4/CaseType.php index a546412ceb..f3c1b02fac 100644 --- a/Civi/Api4/CaseType.php +++ b/Civi/Api4/CaseType.php @@ -26,6 +26,7 @@ namespace Civi\Api4; * * @see \Civi\Api4\Case * @searchable none + * @since 5.37 * @package Civi\Api4 */ class CaseType extends Generic\DAOEntity { diff --git a/Civi/Api4/CiviCase.php b/Civi/Api4/CiviCase.php index 189dba867d..42179435fb 100644 --- a/Civi/Api4/CiviCase.php +++ b/Civi/Api4/CiviCase.php @@ -26,6 +26,7 @@ namespace Civi\Api4; * * @see https://docs.civicrm.org/user/en/latest/case-management/what-is-civicase/ * @searchable primary + * @since 5.37 * @package Civi\Api4 */ class CiviCase extends Generic\DAOEntity { diff --git a/Civi/Api4/Contact.php b/Civi/Api4/Contact.php index 9c24e00d75..409ee95091 100644 --- a/Civi/Api4/Contact.php +++ b/Civi/Api4/Contact.php @@ -29,6 +29,7 @@ namespace Civi\Api4; * * @see https://docs.civicrm.org/user/en/latest/organising-your-data/contacts/ * @searchable primary + * @since 5.19 * @package Civi\Api4 */ class Contact extends Generic\DAOEntity { diff --git a/Civi/Api4/ContactType.php b/Civi/Api4/ContactType.php index df3c753676..4e7a3eec50 100644 --- a/Civi/Api4/ContactType.php +++ b/Civi/Api4/ContactType.php @@ -31,6 +31,7 @@ namespace Civi\Api4; * @see https://docs.civicrm.org/user/en/latest/organising-your-data/contacts/#contact-subtypes * @see \Civi\Api4\Contact * @searchable none + * @since 5.19 * @package Civi\Api4 */ class ContactType extends Generic\DAOEntity { diff --git a/Civi/Api4/Contribution.php b/Civi/Api4/Contribution.php index fe7bc91624..f5e3ee4873 100644 --- a/Civi/Api4/Contribution.php +++ b/Civi/Api4/Contribution.php @@ -16,6 +16,7 @@ namespace Civi\Api4; * Contribution entity. * * @searchable primary + * @since 5.19 * @package Civi\Api4 */ class Contribution extends Generic\DAOEntity { diff --git a/Civi/Api4/ContributionPage.php b/Civi/Api4/ContributionPage.php index 845780e7a0..2092604eda 100644 --- a/Civi/Api4/ContributionPage.php +++ b/Civi/Api4/ContributionPage.php @@ -16,6 +16,7 @@ namespace Civi\Api4; * ContributionPage entity. * * @searchable secondary + * @since 5.19 * @package Civi\Api4 */ class ContributionPage extends Generic\DAOEntity { diff --git a/Civi/Api4/ContributionRecur.php b/Civi/Api4/ContributionRecur.php index 75380c7f0a..c4adca483f 100644 --- a/Civi/Api4/ContributionRecur.php +++ b/Civi/Api4/ContributionRecur.php @@ -16,6 +16,7 @@ namespace Civi\Api4; * ContributionRecur entity. * * @searchable secondary + * @since 5.27 * @package Civi\Api4 */ class ContributionRecur extends Generic\DAOEntity { diff --git a/Civi/Api4/ContributionSoft.php b/Civi/Api4/ContributionSoft.php index 8271fa2225..c3913bd873 100644 --- a/Civi/Api4/ContributionSoft.php +++ b/Civi/Api4/ContributionSoft.php @@ -16,6 +16,7 @@ namespace Civi\Api4; * ContributionSoft entity. * * @searchable secondary + * @since 5.34 * @package Civi\Api4 */ class ContributionSoft extends Generic\DAOEntity { diff --git a/Civi/Api4/Country.php b/Civi/Api4/Country.php index 9441b4ac6c..783a82ab80 100644 --- a/Civi/Api4/Country.php +++ b/Civi/Api4/Country.php @@ -22,6 +22,7 @@ namespace Civi\Api4; * Country entity. * * @searchable secondary + * @since 5.22 * @package Civi\Api4 */ class Country extends Generic\DAOEntity { diff --git a/Civi/Api4/CustomField.php b/Civi/Api4/CustomField.php index 2428efc93a..f0628b941e 100644 --- a/Civi/Api4/CustomField.php +++ b/Civi/Api4/CustomField.php @@ -24,6 +24,7 @@ namespace Civi\Api4; * * @see https://docs.civicrm.org/user/en/latest/organising-your-data/creating-custom-fields/ * @searchable none + * @since 5.19 * @package Civi\Api4 */ class CustomField extends Generic\DAOEntity { diff --git a/Civi/Api4/CustomGroup.php b/Civi/Api4/CustomGroup.php index ba1729d82a..7f0602bf7e 100644 --- a/Civi/Api4/CustomGroup.php +++ b/Civi/Api4/CustomGroup.php @@ -24,6 +24,7 @@ namespace Civi\Api4; * * @see https://docs.civicrm.org/user/en/latest/organising-your-data/creating-custom-fields/ * @searchable none + * @since 5.19 * @package Civi\Api4 */ class CustomGroup extends Generic\DAOEntity { diff --git a/Civi/Api4/Dashboard.php b/Civi/Api4/Dashboard.php index a8c424f19d..31d3cceec1 100644 --- a/Civi/Api4/Dashboard.php +++ b/Civi/Api4/Dashboard.php @@ -29,6 +29,7 @@ namespace Civi\Api4; * * @see \Civi\Api4\DashboardContact * @searchable none + * @since 5.25 * @package Civi\Api4 */ class Dashboard extends Generic\DAOEntity { diff --git a/Civi/Api4/DashboardContact.php b/Civi/Api4/DashboardContact.php index 91eae6be2f..6d1723e248 100644 --- a/Civi/Api4/DashboardContact.php +++ b/Civi/Api4/DashboardContact.php @@ -26,6 +26,7 @@ namespace Civi\Api4; * @searchable bridge * @see \Civi\Api4\Dashboard * @searchable none + * @since 5.25 * @package Civi\Api4 */ class DashboardContact extends Generic\DAOEntity { diff --git a/Civi/Api4/DedupeException.php b/Civi/Api4/DedupeException.php index 1100587b68..f1708d201b 100644 --- a/Civi/Api4/DedupeException.php +++ b/Civi/Api4/DedupeException.php @@ -26,6 +26,7 @@ namespace Civi\Api4; * * @searchable none * @see https://docs.civicrm.org/user/en/latest/organising-your-data/contacts/ + * @since 5.39 * @package Civi\Api4 */ class DedupeException extends Generic\DAOEntity { diff --git a/Civi/Api4/DedupeRule.php b/Civi/Api4/DedupeRule.php index dafcda898e..04404f12eb 100644 --- a/Civi/Api4/DedupeRule.php +++ b/Civi/Api4/DedupeRule.php @@ -26,6 +26,7 @@ namespace Civi\Api4; * * @searchable none * @see https://docs.civicrm.org/user/en/latest/organising-your-data/contacts/ + * @since 5.39 * @package Civi\Api4 */ class DedupeRule extends Generic\DAOEntity { diff --git a/Civi/Api4/DedupeRuleGroup.php b/Civi/Api4/DedupeRuleGroup.php index 70433a1c04..3a73928a1c 100644 --- a/Civi/Api4/DedupeRuleGroup.php +++ b/Civi/Api4/DedupeRuleGroup.php @@ -26,6 +26,7 @@ namespace Civi\Api4; * * @searchable none * @see https://docs.civicrm.org/user/en/latest/organising-your-data/contacts/ + * @since 5.39 * @package Civi\Api4 */ class DedupeRuleGroup extends Generic\DAOEntity { diff --git a/Civi/Api4/Domain.php b/Civi/Api4/Domain.php index 88e2df9eb5..dbe2d89a3c 100644 --- a/Civi/Api4/Domain.php +++ b/Civi/Api4/Domain.php @@ -24,6 +24,7 @@ namespace Civi\Api4; * * @see https://docs.civicrm.org/sysadmin/en/latest/setup/multisite/ * @searchable none + * @since 5.19 * @package Civi\Api4 */ class Domain extends Generic\DAOEntity { diff --git a/Civi/Api4/Email.php b/Civi/Api4/Email.php index c9ec6d4bad..cb60f7b5ea 100644 --- a/Civi/Api4/Email.php +++ b/Civi/Api4/Email.php @@ -27,6 +27,7 @@ namespace Civi\Api4; * Creating a new email address requires at minimum a contact's ID and email * * @searchable secondary + * @since 5.19 * @package Civi\Api4 */ class Email extends Generic\DAOEntity { diff --git a/Civi/Api4/Entity.php b/Civi/Api4/Entity.php index e66a9bec70..28da91082d 100644 --- a/Civi/Api4/Entity.php +++ b/Civi/Api4/Entity.php @@ -25,6 +25,7 @@ namespace Civi\Api4; * @see \Civi\Api4\Generic\AbstractEntity * * @searchable none + * @since 5.19 * @package Civi\Api4 */ class Entity extends Generic\AbstractEntity { @@ -114,6 +115,11 @@ class Entity extends Generic\AbstractEntity { 'data_type' => 'Array', 'description' => 'Any @see annotations from docblock', ], + [ + 'name' => 'since', + 'data_type' => 'String', + 'description' => 'Version this API entity was added', + ], [ 'name' => 'bridge', 'data_type' => 'Array', diff --git a/Civi/Api4/EntityFinancialAccount.php b/Civi/Api4/EntityFinancialAccount.php index e8f4750ce9..dc7f961f19 100644 --- a/Civi/Api4/EntityFinancialAccount.php +++ b/Civi/Api4/EntityFinancialAccount.php @@ -26,6 +26,7 @@ namespace Civi\Api4; * @ui_join_filters account_relationship * * @searchable bridge + * @since 5.37 * @package Civi\Api4 */ class EntityFinancialAccount extends Generic\DAOEntity { diff --git a/Civi/Api4/EntityFinancialTrxn.php b/Civi/Api4/EntityFinancialTrxn.php index 568f57d482..dd553cd3e1 100644 --- a/Civi/Api4/EntityFinancialTrxn.php +++ b/Civi/Api4/EntityFinancialTrxn.php @@ -25,6 +25,7 @@ namespace Civi\Api4; * @see https://docs.civicrm.org/dev/en/latest/financial/financialentities/ * * @searchable bridge + * @since 5.37 * @package Civi\Api4 */ class EntityFinancialTrxn extends Generic\DAOEntity { diff --git a/Civi/Api4/EntityTag.php b/Civi/Api4/EntityTag.php index 62fe8b6870..737156b675 100644 --- a/Civi/Api4/EntityTag.php +++ b/Civi/Api4/EntityTag.php @@ -23,6 +23,7 @@ namespace Civi\Api4; * * @see \Civi\Api4\Tag * @searchable bridge + * @since 5.19 * @package Civi\Api4 */ class EntityTag extends Generic\DAOEntity { diff --git a/Civi/Api4/Event.php b/Civi/Api4/Event.php index 021ebc9818..6df7065dbe 100644 --- a/Civi/Api4/Event.php +++ b/Civi/Api4/Event.php @@ -25,6 +25,7 @@ namespace Civi\Api4; * @see https://docs.civicrm.org/user/en/latest/events/what-is-civievent/ * * @searchable primary + * @since 5.19 * @package Civi\Api4 */ class Event extends Generic\DAOEntity { diff --git a/Civi/Api4/FinancialAccount.php b/Civi/Api4/FinancialAccount.php index 04b1dd821a..d600bc6659 100644 --- a/Civi/Api4/FinancialAccount.php +++ b/Civi/Api4/FinancialAccount.php @@ -26,6 +26,7 @@ namespace Civi\Api4; * @see https://docs.civicrm.org/user/en/latest/contributions/key-concepts-and-configurations/#financial-types-financial-accounts-and-accounting-codes * * @searchable secondary + * @since 5.34 * @package Civi\Api4 */ class FinancialAccount extends Generic\DAOEntity { diff --git a/Civi/Api4/FinancialItem.php b/Civi/Api4/FinancialItem.php index ced033b3c4..b65ffbeb9a 100644 --- a/Civi/Api4/FinancialItem.php +++ b/Civi/Api4/FinancialItem.php @@ -26,7 +26,7 @@ namespace Civi\Api4; * If your interest is really in payments you should use that api. * * @see https://docs.civicrm.org/dev/en/latest/financial/financialentities/#financial-items - * + * @since 5.40 * @package Civi\Api4 */ class FinancialItem extends Generic\DAOEntity { diff --git a/Civi/Api4/FinancialTrxn.php b/Civi/Api4/FinancialTrxn.php index f96f515196..cc921f1287 100644 --- a/Civi/Api4/FinancialTrxn.php +++ b/Civi/Api4/FinancialTrxn.php @@ -29,6 +29,7 @@ namespace Civi\Api4; * @see https://docs.civicrm.org/dev/en/latest/financial/financialentities/#financial-transactions * * @searchable secondary + * @since 5.40 * @package Civi\Api4 */ class FinancialTrxn extends Generic\DAOEntity { diff --git a/Civi/Api4/FinancialType.php b/Civi/Api4/FinancialType.php index 2a389bd37a..2aa230be9b 100644 --- a/Civi/Api4/FinancialType.php +++ b/Civi/Api4/FinancialType.php @@ -26,6 +26,7 @@ namespace Civi\Api4; * @see https://docs.civicrm.org/user/en/latest/contributions/key-concepts-and-configurations/#financial-types-financial-accounts-and-accounting-codes * * @searchable secondary + * @since 5.34 * @package Civi\Api4 */ class FinancialType extends Generic\DAOEntity { diff --git a/Civi/Api4/Grant.php b/Civi/Api4/Grant.php index 470672fc87..5c899e2355 100644 --- a/Civi/Api4/Grant.php +++ b/Civi/Api4/Grant.php @@ -26,6 +26,7 @@ namespace Civi\Api4; * @see https://docs.civicrm.org/user/en/latest/grants/what-is-civigrant/ * * @searchable primary + * @since 5.33 * @package Civi\Api4 */ class Grant extends Generic\DAOEntity { diff --git a/Civi/Api4/Group.php b/Civi/Api4/Group.php index 4764d76b4d..462180d137 100644 --- a/Civi/Api4/Group.php +++ b/Civi/Api4/Group.php @@ -24,6 +24,7 @@ namespace Civi\Api4; * @see https://docs.civicrm.org/user/en/latest/organising-your-data/groups-and-tags/#groups * * @searchable secondary + * @since 5.19 * @package Civi\Api4 */ class Group extends Generic\DAOEntity { diff --git a/Civi/Api4/GroupContact.php b/Civi/Api4/GroupContact.php index 850fe78b44..d264bab1cb 100644 --- a/Civi/Api4/GroupContact.php +++ b/Civi/Api4/GroupContact.php @@ -28,6 +28,7 @@ namespace Civi\Api4; * * @searchable bridge * @see \Civi\Api4\Group + * @since 5.19 * @package Civi\Api4 */ class GroupContact extends Generic\DAOEntity { diff --git a/Civi/Api4/GroupNesting.php b/Civi/Api4/GroupNesting.php index b2428b1a65..94302a41a3 100644 --- a/Civi/Api4/GroupNesting.php +++ b/Civi/Api4/GroupNesting.php @@ -23,6 +23,7 @@ namespace Civi\Api4; * * @see \Civi\Api4\Group * @searchable none + * @since 5.19 * @package Civi\Api4 */ class GroupNesting extends Generic\DAOEntity { diff --git a/Civi/Api4/GroupOrganization.php b/Civi/Api4/GroupOrganization.php index c392cf91a4..005ef07382 100644 --- a/Civi/Api4/GroupOrganization.php +++ b/Civi/Api4/GroupOrganization.php @@ -27,6 +27,7 @@ namespace Civi\Api4; * @searchable none * * @see \Civi\Api4\Group + * @since 5.19 * @package Civi\Api4 */ class GroupOrganization extends Generic\DAOEntity { diff --git a/Civi/Api4/IM.php b/Civi/Api4/IM.php index f563d3c717..39216410c1 100644 --- a/Civi/Api4/IM.php +++ b/Civi/Api4/IM.php @@ -23,6 +23,7 @@ namespace Civi\Api4; * IM entity. * * @searchable secondary + * @since 5.19 * @package Civi\Api4 */ class IM extends Generic\DAOEntity { diff --git a/Civi/Api4/LineItem.php b/Civi/Api4/LineItem.php index ca425f9278..2c0f33fe15 100644 --- a/Civi/Api4/LineItem.php +++ b/Civi/Api4/LineItem.php @@ -22,6 +22,7 @@ namespace Civi\Api4; * LineItem entity. * * @searchable secondary + * @since 5.31 * @package Civi\Api4 */ class LineItem extends Generic\DAOEntity { diff --git a/Civi/Api4/LocBlock.php b/Civi/Api4/LocBlock.php index d68c961ed1..edddc1d7e1 100644 --- a/Civi/Api4/LocBlock.php +++ b/Civi/Api4/LocBlock.php @@ -18,6 +18,7 @@ namespace Civi\Api4; * Links addresses, emails & phones to Events. * * @searchable none + * @since 5.31 * @package Civi\Api4 */ class LocBlock extends Generic\DAOEntity { diff --git a/Civi/Api4/LocationType.php b/Civi/Api4/LocationType.php index 3b8c2d793b..e8fcd4651a 100644 --- a/Civi/Api4/LocationType.php +++ b/Civi/Api4/LocationType.php @@ -16,6 +16,7 @@ namespace Civi\Api4; * LocationType entity. * * @searchable none + * @since 5.19 * @package Civi\Api4 */ class LocationType extends Generic\DAOEntity { diff --git a/Civi/Api4/MailSettings.php b/Civi/Api4/MailSettings.php index 4730e8a18a..5858c03d15 100644 --- a/Civi/Api4/MailSettings.php +++ b/Civi/Api4/MailSettings.php @@ -23,6 +23,7 @@ namespace Civi\Api4; * MailSettings entity. * * @searchable none + * @since 5.19 * @package Civi\Api4 */ class MailSettings extends Generic\DAOEntity { diff --git a/Civi/Api4/Mapping.php b/Civi/Api4/Mapping.php index e7d6cbf11d..d98a400488 100644 --- a/Civi/Api4/Mapping.php +++ b/Civi/Api4/Mapping.php @@ -24,6 +24,7 @@ namespace Civi\Api4; * This is a collection of MappingFields, for reuse in import, export, etc. * * @searchable none + * @since 5.19 * @package Civi\Api4 */ class Mapping extends Generic\DAOEntity { diff --git a/Civi/Api4/MappingField.php b/Civi/Api4/MappingField.php index 7e8b4ce4bc..f3b1376696 100644 --- a/Civi/Api4/MappingField.php +++ b/Civi/Api4/MappingField.php @@ -25,6 +25,7 @@ namespace Civi\Api4; * * @see \Civi\Api4\Mapping * @searchable none + * @since 5.19 * @package Civi\Api4 */ class MappingField extends Generic\DAOEntity { diff --git a/Civi/Api4/MembershipType.php b/Civi/Api4/MembershipType.php index 089d8076ff..78b24e3195 100644 --- a/Civi/Api4/MembershipType.php +++ b/Civi/Api4/MembershipType.php @@ -16,6 +16,7 @@ namespace Civi\Api4; * MembershipType entity. * * @searchable secondary + * @since 5.27 * @package Civi\Api4 */ class MembershipType extends Generic\DAOEntity { diff --git a/Civi/Api4/MessageTemplate.php b/Civi/Api4/MessageTemplate.php index d20f1054ec..50bc8652ec 100644 --- a/Civi/Api4/MessageTemplate.php +++ b/Civi/Api4/MessageTemplate.php @@ -23,6 +23,7 @@ namespace Civi\Api4; * * This is a collection of MsgTemplate, for reuse in import, export, etc. * @searchable none + * @since 5.26 * @package Civi\Api4 */ class MessageTemplate extends Generic\DAOEntity { diff --git a/Civi/Api4/Navigation.php b/Civi/Api4/Navigation.php index fd15888301..6b5185a60c 100644 --- a/Civi/Api4/Navigation.php +++ b/Civi/Api4/Navigation.php @@ -22,6 +22,7 @@ namespace Civi\Api4; * Navigation entity. * * @searchable none + * @since 5.19 * @package Civi\Api4 */ class Navigation extends Generic\DAOEntity { diff --git a/Civi/Api4/Note.php b/Civi/Api4/Note.php index baf205301f..e1b26a6b1c 100644 --- a/Civi/Api4/Note.php +++ b/Civi/Api4/Note.php @@ -23,6 +23,7 @@ namespace Civi\Api4; * Note entity. * * @searchable secondary + * @since 5.19 * @package Civi\Api4 */ class Note extends Generic\DAOEntity { diff --git a/Civi/Api4/OpenID.php b/Civi/Api4/OpenID.php index c9c56472f7..d8583018c2 100644 --- a/Civi/Api4/OpenID.php +++ b/Civi/Api4/OpenID.php @@ -23,6 +23,7 @@ namespace Civi\Api4; * OpenID entity. * * @searchable secondary + * @since 5.19 * @package Civi\Api4 */ class OpenID extends Generic\DAOEntity { diff --git a/Civi/Api4/OptionGroup.php b/Civi/Api4/OptionGroup.php index 26d5817ce0..b813a7d575 100644 --- a/Civi/Api4/OptionGroup.php +++ b/Civi/Api4/OptionGroup.php @@ -24,6 +24,7 @@ namespace Civi\Api4; * * @see \Civi\Api4\OptionValue * @searchable none + * @since 5.19 * @package Civi\Api4 */ class OptionGroup extends Generic\DAOEntity { diff --git a/Civi/Api4/OptionValue.php b/Civi/Api4/OptionValue.php index 7722160d8e..e976b4448f 100644 --- a/Civi/Api4/OptionValue.php +++ b/Civi/Api4/OptionValue.php @@ -24,6 +24,7 @@ namespace Civi\Api4; * * @see \Civi\Api4\OptionGroup * @searchable none + * @since 5.19 * @package Civi\Api4 */ class OptionValue extends Generic\DAOEntity { diff --git a/Civi/Api4/PCPBlock.php b/Civi/Api4/PCPBlock.php index 0e7532a26e..73ea7bb34e 100644 --- a/Civi/Api4/PCPBlock.php +++ b/Civi/Api4/PCPBlock.php @@ -22,6 +22,7 @@ namespace Civi\Api4; * PCP Block entity. * * @searchable secondary + * @since 5.34 * @package Civi\Api4 */ class PCPBlock extends Generic\DAOEntity { diff --git a/Civi/Api4/Participant.php b/Civi/Api4/Participant.php index 9658035310..749a874b7f 100644 --- a/Civi/Api4/Participant.php +++ b/Civi/Api4/Participant.php @@ -22,6 +22,7 @@ namespace Civi\Api4; * Participant entity, stores the participation record of a contact in an event. * * @searchable primary + * @since 5.19 * @package Civi\Api4 */ class Participant extends Generic\DAOEntity { diff --git a/Civi/Api4/PaymentProcessor.php b/Civi/Api4/PaymentProcessor.php index f88f88da55..4884d6c2cb 100644 --- a/Civi/Api4/PaymentProcessor.php +++ b/Civi/Api4/PaymentProcessor.php @@ -23,6 +23,7 @@ namespace Civi\Api4; * @see https://docs.civicrm.org/sysadmin/en/latest/setup/payment-processors/ * * @searchable none + * @since 5.23 * @package Civi\Api4 */ class PaymentProcessor extends Generic\DAOEntity { diff --git a/Civi/Api4/PaymentProcessorType.php b/Civi/Api4/PaymentProcessorType.php index 5b41c80859..d702e002ce 100644 --- a/Civi/Api4/PaymentProcessorType.php +++ b/Civi/Api4/PaymentProcessorType.php @@ -23,6 +23,7 @@ namespace Civi\Api4; * @see \Civi\Api4\PaymentProcessor * * @searchable none + * @since 5.23 * @package Civi\Api4 */ class PaymentProcessorType extends Generic\DAOEntity { diff --git a/Civi/Api4/PaymentToken.php b/Civi/Api4/PaymentToken.php index c4fca79d5c..85be47255a 100644 --- a/Civi/Api4/PaymentToken.php +++ b/Civi/Api4/PaymentToken.php @@ -23,6 +23,7 @@ namespace Civi\Api4; * @see https://docs.civicrm.org/user/en/latest/contributions/payment-processors/#managing-recurring-contributions * * @searchable secondary + * @since 5.37 * @package Civi\Api4 */ class PaymentToken extends Generic\DAOEntity { diff --git a/Civi/Api4/Permission.php b/Civi/Api4/Permission.php index f046cbf888..417db5598c 100644 --- a/Civi/Api4/Permission.php +++ b/Civi/Api4/Permission.php @@ -26,6 +26,7 @@ namespace Civi\Api4; * on top of permissions!) or during install/uninstall processes. * * @searchable none + * @since 5.34 * @package Civi\Api4 */ class Permission extends Generic\AbstractEntity { diff --git a/Civi/Api4/Phone.php b/Civi/Api4/Phone.php index 38e8575550..9d9ef3ed9f 100644 --- a/Civi/Api4/Phone.php +++ b/Civi/Api4/Phone.php @@ -27,6 +27,7 @@ namespace Civi\Api4; * Creating a new phone of a contact, requires at minimum a contact's ID and phone number * * @searchable secondary + * @since 5.19 * @package Civi\Api4 */ class Phone extends Generic\DAOEntity { diff --git a/Civi/Api4/Pledge.php b/Civi/Api4/Pledge.php index d7c810749d..adcf991c31 100644 --- a/Civi/Api4/Pledge.php +++ b/Civi/Api4/Pledge.php @@ -17,6 +17,7 @@ namespace Civi\Api4; * * @see https://docs.civicrm.org/user/en/latest/pledges/what-is-civipledge/ * @searchable primary + * @since 5.35 * @package Civi\Api4 */ class Pledge extends Generic\DAOEntity { diff --git a/Civi/Api4/PledgePayment.php b/Civi/Api4/PledgePayment.php index daa7ffad83..4c1546cae8 100644 --- a/Civi/Api4/PledgePayment.php +++ b/Civi/Api4/PledgePayment.php @@ -23,6 +23,7 @@ namespace Civi\Api4; * PledgePayment entity. * * @searchable secondary + * @since 5.35 * @package Civi\Api4 */ class PledgePayment extends Generic\DAOEntity { diff --git a/Civi/Api4/PriceField.php b/Civi/Api4/PriceField.php index 341a70bbf6..9824423437 100644 --- a/Civi/Api4/PriceField.php +++ b/Civi/Api4/PriceField.php @@ -16,6 +16,7 @@ namespace Civi\Api4; * PriceField entity. * * @searchable secondary + * @since 5.27 * @package Civi\Api4 */ class PriceField extends Generic\DAOEntity { diff --git a/Civi/Api4/PriceFieldValue.php b/Civi/Api4/PriceFieldValue.php index d9bb5f578b..3c622be8b7 100644 --- a/Civi/Api4/PriceFieldValue.php +++ b/Civi/Api4/PriceFieldValue.php @@ -16,6 +16,7 @@ namespace Civi\Api4; * PriceFieldValue entity. * * @searchable secondary + * @since 5.27 * @package Civi\Api4 */ class PriceFieldValue extends Generic\DAOEntity { diff --git a/Civi/Api4/PriceSet.php b/Civi/Api4/PriceSet.php index df178613ca..b5e0047779 100644 --- a/Civi/Api4/PriceSet.php +++ b/Civi/Api4/PriceSet.php @@ -16,6 +16,7 @@ namespace Civi\Api4; * PriceSet entity. * * @searchable secondary + * @since 5.27 * @package Civi\Api4 */ class PriceSet extends Generic\DAOEntity { diff --git a/Civi/Api4/Relationship.php b/Civi/Api4/Relationship.php index cc5a55c5c7..6dab5e72d5 100644 --- a/Civi/Api4/Relationship.php +++ b/Civi/Api4/Relationship.php @@ -24,6 +24,7 @@ namespace Civi\Api4; * * @see https://docs.civicrm.org/user/en/latest/organising-your-data/relationships/ * @searchable none + * @since 5.19 * @package Civi\Api4 */ class Relationship extends Generic\DAOEntity { diff --git a/Civi/Api4/RelationshipCache.php b/Civi/Api4/RelationshipCache.php index 7a4b774fbc..1b9169847f 100644 --- a/Civi/Api4/RelationshipCache.php +++ b/Civi/Api4/RelationshipCache.php @@ -25,6 +25,7 @@ namespace Civi\Api4; * @searchable secondary * @see \Civi\Api4\Relationship * @ui_join_filters near_relation + * @since 5.29 * @package Civi\Api4 */ class RelationshipCache extends Generic\AbstractEntity { diff --git a/Civi/Api4/RelationshipType.php b/Civi/Api4/RelationshipType.php index 774da48432..f0581e0a5a 100644 --- a/Civi/Api4/RelationshipType.php +++ b/Civi/Api4/RelationshipType.php @@ -25,6 +25,7 @@ namespace Civi\Api4; * @see \Civi\Api4\Relationship * * @searchable secondary + * @since 5.19 * @package Civi\Api4 */ class RelationshipType extends Generic\DAOEntity { diff --git a/Civi/Api4/Route.php b/Civi/Api4/Route.php index f40444037c..65b71f1772 100644 --- a/Civi/Api4/Route.php +++ b/Civi/Api4/Route.php @@ -27,6 +27,7 @@ namespace Civi\Api4; * * @see https://docs.civicrm.org/dev/en/latest/hooks/hook_civicrm_alterMenu/ * @searchable none + * @since 5.19 * @package Civi\Api4 */ class Route extends \Civi\Api4\Generic\AbstractEntity { diff --git a/Civi/Api4/SavedSearch.php b/Civi/Api4/SavedSearch.php index 26a8994645..db1f719589 100644 --- a/Civi/Api4/SavedSearch.php +++ b/Civi/Api4/SavedSearch.php @@ -26,6 +26,7 @@ namespace Civi\Api4; * * @see https://docs.civicrm.org/user/en/latest/organising-your-data/smart-groups/ * @searchable none + * @since 5.24 * @package Civi\Api4 */ class SavedSearch extends Generic\DAOEntity { diff --git a/Civi/Api4/Setting.php b/Civi/Api4/Setting.php index a41baa6180..192d74db53 100644 --- a/Civi/Api4/Setting.php +++ b/Civi/Api4/Setting.php @@ -26,6 +26,7 @@ namespace Civi\Api4; * * @see \Civi\Core\SettingsBag * @searchable none + * @since 5.19 * @package Civi\Api4 */ class Setting extends Generic\AbstractEntity { diff --git a/Civi/Api4/StateProvince.php b/Civi/Api4/StateProvince.php index 640cc30a2f..d86c521af1 100644 --- a/Civi/Api4/StateProvince.php +++ b/Civi/Api4/StateProvince.php @@ -22,6 +22,7 @@ namespace Civi\Api4; * StateProvince entity. * * @searchable secondary + * @since 5.22 * @package Civi\Api4 */ class StateProvince extends Generic\DAOEntity { diff --git a/Civi/Api4/StatusPreference.php b/Civi/Api4/StatusPreference.php index e3b01c5d7c..5037f94a6f 100644 --- a/Civi/Api4/StatusPreference.php +++ b/Civi/Api4/StatusPreference.php @@ -25,6 +25,7 @@ namespace Civi\Api4; * For setting "hush" preferences for system check alerts. * * @searchable none + * @since 5.19 * @package Civi\Api4 */ class StatusPreference extends Generic\DAOEntity { diff --git a/Civi/Api4/System.php b/Civi/Api4/System.php index 1f1f4d4b5d..d84a6c6382 100644 --- a/Civi/Api4/System.php +++ b/Civi/Api4/System.php @@ -22,6 +22,7 @@ namespace Civi\Api4; * A collection of system maintenance/diagnostic utilities. * * @searchable none + * @since 5.19 * @package Civi\Api4 */ class System extends Generic\AbstractEntity { diff --git a/Civi/Api4/Tag.php b/Civi/Api4/Tag.php index 57d94d74f4..02db8022b5 100644 --- a/Civi/Api4/Tag.php +++ b/Civi/Api4/Tag.php @@ -27,6 +27,7 @@ namespace Civi\Api4; * * @see https://docs.civicrm.org/user/en/latest/organising-your-data/groups-and-tags/#tags * @searchable secondary + * @since 5.19 * @package Civi\Api4 */ class Tag extends Generic\DAOEntity { diff --git a/Civi/Api4/Translation.php b/Civi/Api4/Translation.php index e94ab00f0c..6d81a6c2d9 100644 --- a/Civi/Api4/Translation.php +++ b/Civi/Api4/Translation.php @@ -4,6 +4,7 @@ namespace Civi\Api4; /** * Attach supplemental translations to strings stored in the database. * + * @since 5.40 * @package Civi\Api4 */ class Translation extends Generic\DAOEntity { diff --git a/Civi/Api4/UFField.php b/Civi/Api4/UFField.php index 0de725af34..dcbb6db103 100644 --- a/Civi/Api4/UFField.php +++ b/Civi/Api4/UFField.php @@ -24,6 +24,7 @@ namespace Civi\Api4; * * @see \Civi\Api4\UFGroup * @searchable none + * @since 5.19 * @package Civi\Api4 */ class UFField extends Generic\DAOEntity { diff --git a/Civi/Api4/UFGroup.php b/Civi/Api4/UFGroup.php index 3f82f12f76..05f3ab437a 100644 --- a/Civi/Api4/UFGroup.php +++ b/Civi/Api4/UFGroup.php @@ -24,6 +24,7 @@ namespace Civi\Api4; * * @see https://docs.civicrm.org/user/en/latest/organising-your-data/profiles/ * @searchable none + * @since 5.19 * @package Civi\Api4 */ class UFGroup extends Generic\DAOEntity { diff --git a/Civi/Api4/UFJoin.php b/Civi/Api4/UFJoin.php index e2f0b3b243..2be4ac3a0c 100644 --- a/Civi/Api4/UFJoin.php +++ b/Civi/Api4/UFJoin.php @@ -24,6 +24,7 @@ namespace Civi\Api4; * * @see \Civi\Api4\UFGroup * @searchable none + * @since 5.19 * @package Civi\Api4 */ class UFJoin extends Generic\DAOEntity { diff --git a/Civi/Api4/UFMatch.php b/Civi/Api4/UFMatch.php index 87df0cbf98..83b124873e 100644 --- a/Civi/Api4/UFMatch.php +++ b/Civi/Api4/UFMatch.php @@ -23,6 +23,7 @@ namespace Civi\Api4; * UFMatch entity - links civicrm contacts with users created externally * * @searchable none + * @since 5.19 * @package Civi\Api4 */ class UFMatch extends Generic\DAOEntity { diff --git a/Civi/Api4/Website.php b/Civi/Api4/Website.php index d155f81416..e161e26060 100644 --- a/Civi/Api4/Website.php +++ b/Civi/Api4/Website.php @@ -23,6 +23,7 @@ namespace Civi\Api4; * Website entity. * * @searchable secondary + * @since 5.19 * @package Civi\Api4 */ class Website extends Generic\DAOEntity { diff --git a/Civi/Api4/WordReplacement.php b/Civi/Api4/WordReplacement.php index ffe6e0107f..4b5dd6b3dc 100644 --- a/Civi/Api4/WordReplacement.php +++ b/Civi/Api4/WordReplacement.php @@ -25,6 +25,7 @@ namespace Civi\Api4; * This entity stores global string replacements for the CiviCRM UI. * * @searchable secondary + * @since 5.39 * @package Civi\Api4 */ class WordReplacement extends Generic\DAOEntity { diff --git a/ang/api4Explorer/Explorer.js b/ang/api4Explorer/Explorer.js index 5cc419a646..e02b8365fe 100644 --- a/ang/api4Explorer/Explorer.js +++ b/ang/api4Explorer/Explorer.js @@ -879,6 +879,7 @@ description: entityInfo.description, comment: entityInfo.comment, type: entityInfo.type, + since: entityInfo.since, see: entityInfo.see }); } diff --git a/tests/phpunit/api/v4/Entity/ConformanceTest.php b/tests/phpunit/api/v4/Entity/ConformanceTest.php index 9c1408a400..733cef9760 100644 --- a/tests/phpunit/api/v4/Entity/ConformanceTest.php +++ b/tests/phpunit/api/v4/Entity/ConformanceTest.php @@ -164,6 +164,7 @@ class ConformanceTest extends UnitTestCase implements HookInterface { $this->assertNotEmpty($info['title_plural']); $this->assertNotEmpty($info['type']); $this->assertNotEmpty($info['description']); + $this->assertRegExp(';^\d\.\d\d$;', $info['since']); $this->assertContains($info['searchable'], ['primary', 'secondary', 'bridge', 'none']); // Bridge must be between exactly 2 entities if (in_array('EntityBridge', $info['type'], TRUE)) { -- 2.25.1