diff options
Diffstat (limited to 'www/crm/wp-content/plugins/civicrm/civicrm/ext/api4/Civi/Api4/Action/Contact/GetFields.php')
-rw-r--r-- | www/crm/wp-content/plugins/civicrm/civicrm/ext/api4/Civi/Api4/Action/Contact/GetFields.php | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/www/crm/wp-content/plugins/civicrm/civicrm/ext/api4/Civi/Api4/Action/Contact/GetFields.php b/www/crm/wp-content/plugins/civicrm/civicrm/ext/api4/Civi/Api4/Action/Contact/GetFields.php new file mode 100644 index 00000000..1d6ddf66 --- /dev/null +++ b/www/crm/wp-content/plugins/civicrm/civicrm/ext/api4/Civi/Api4/Action/Contact/GetFields.php @@ -0,0 +1,19 @@ +<?php +namespace Civi\Api4\Action\Contact; + +use Civi\Api4\Generic\DAOGetFieldsAction; + +class GetFields extends DAOGetFieldsAction { + + protected function getRecords() { + $fields = parent::getRecords(); + + $apiKeyPerms = ['edit api keys', 'administer CiviCRM']; + if ($this->checkPermissions && !\CRM_Core_Permission::check([$apiKeyPerms])) { + unset($fields['api_key']); + } + + return $fields; + } + +} |