4 +--------------------------------------------------------------------+
5 | Copyright CiviCRM LLC. All rights reserved. |
7 | This work is published under the GNU AGPLv3 license with some |
8 | permitted exceptions and without any warranty. For full license |
9 | and copyright information, see https://civicrm.org/licensing |
10 +--------------------------------------------------------------------+
16 * @copyright CiviCRM LLC https://civicrm.org/licensing
22 namespace Civi\Api4\Service\Spec\Provider
;
24 use Civi\Api4\Service\Spec\RequestSpec
;
26 class DefaultLocationTypeProvider
implements Generic\SpecProviderInterface
{
31 public function modifySpec(RequestSpec
$spec) {
32 $locationField = $spec->getFieldByName('location_type_id')->setRequired(TRUE);
33 $defaultType = \CRM_Core_BAO_LocationType
::getDefault();
35 $locationField->setDefaultValue($defaultType->id
);
42 public function applies($entity, $action) {
43 return $action === 'create' && in_array($entity, ['Address', 'Email', 'IM', 'OpenID', 'Phone']);