3 namespace Civi\Api4\Service\Spec\Provider
;
5 use Civi\Api4\Service\Spec\FieldSpec
;
6 use Civi\Api4\Service\Spec\RequestSpec
;
8 class CustomFieldCreationSpecProvider
implements Generic\SpecProviderInterface
{
13 public function modifySpec(RequestSpec
$spec) {
14 $optionField = new FieldSpec('option_values', $spec->getEntity(), 'Array');
15 $optionField->setTitle(ts('Option Values'));
16 $optionField->setDescription('Pass an array of options (value => label) to create this field\'s option values');
17 $spec->addFieldSpec($optionField);
18 $spec->getFieldByName('data_type')->setDefaultValue('String')->setRequired(FALSE);
24 public function applies($entity, $action) {
25 return $entity === 'CustomField' && $action === 'create';