5864a468792349cbb0c8ee6b3270543d9d7c56da
[civicrm-core.git] / Civi / Api4 / Action / Setting / GetFields.php
1 <?php
2 namespace Civi\Api4\Action\Setting;
3
4 /**
5 * Get information about CiviCRM settings.
6 *
7 * @method int getDomainId
8 * @method $this setDomainId(int $domainId)
9 */
10 class GetFields extends \Civi\Api4\Generic\BasicGetFieldsAction {
11
12 /**
13 * Domain id of settings. Leave NULL for default domain.
14 *
15 * @var int
16 */
17 protected $domainId;
18
19 protected function getRecords() {
20 // TODO: Waiting for filter handling to get fixed in core
21 // $names = $this->_itemsToGet('name');
22 // $filter = $names ? ['name' => $names] : [];
23 $filter = [];
24 return \Civi\Core\SettingsMetadata::getMetadata($filter, $this->domainId, $this->loadOptions);
25 }
26
27 public function fields() {
28 return [
29 [
30 'name' => 'name',
31 'data_type' => 'String',
32 ],
33 [
34 'name' => 'title',
35 'data_type' => 'String',
36 ],
37 [
38 'name' => 'description',
39 'data_type' => 'String',
40 ],
41 [
42 'name' => 'help_text',
43 'data_type' => 'String',
44 ],
45 [
46 'name' => 'default',
47 'data_type' => 'String',
48 ],
49 [
50 'name' => 'pseudoconstant',
51 'data_type' => 'String',
52 ],
53 [
54 'name' => 'options',
55 'data_type' => 'Array',
56 ],
57 [
58 'name' => 'group_name',
59 'data_type' => 'String',
60 ],
61 [
62 'name' => 'group',
63 'data_type' => 'String',
64 ],
65 [
66 'name' => 'html_type',
67 'data_type' => 'String',
68 ],
69 [
70 'name' => 'add',
71 'data_type' => 'String',
72 ],
73 [
74 'name' => 'serialize',
75 'data_type' => 'Integer',
76 ],
77 [
78 'name' => 'data_type',
79 'data_type' => 'Integer',
80 ],
81 ];
82 }
83
84 }