Merge pull request #21564 from lcdservices/dev-core-2850
[civicrm-core.git] / Civi / Api4 / Address.php
1 <?php
2 /*
3 +--------------------------------------------------------------------+
4 | Copyright CiviCRM LLC. All rights reserved. |
5 | |
6 | This work is published under the GNU AGPLv3 license with some |
7 | permitted exceptions and without any warranty. For full license |
8 | and copyright information, see https://civicrm.org/licensing |
9 +--------------------------------------------------------------------+
10 */
11 namespace Civi\Api4;
12
13 /**
14 * Address Entity.
15 *
16 * This entity holds the address information of a contact. Each contact may hold
17 * one or more addresses but must have different location types respectively.
18 *
19 * Creating a new address requires at minimum a contact's ID and location type ID
20 * and other attributes (although optional) like street address, city, country etc.
21 *
22 * @searchable secondary
23 * @since 5.19
24 * @package Civi\Api4
25 */
26 class Address extends Generic\DAOEntity {
27
28 /**
29 * @param bool $checkPermissions
30 * @return Action\Address\Create
31 */
32 public static function create($checkPermissions = TRUE) {
33 return (new Action\Address\Create(__CLASS__, __FUNCTION__))
34 ->setCheckPermissions($checkPermissions);
35 }
36
37 /**
38 * @param bool $checkPermissions
39 * @return Action\Address\Save
40 */
41 public static function save($checkPermissions = TRUE) {
42 return (new Action\Address\Save(__CLASS__, __FUNCTION__))
43 ->setCheckPermissions($checkPermissions);
44 }
45
46 /**
47 * @param bool $checkPermissions
48 * @return Action\Address\Update
49 */
50 public static function update($checkPermissions = TRUE) {
51 return (new Action\Address\Update(__CLASS__, __FUNCTION__))
52 ->setCheckPermissions($checkPermissions);
53 }
54
55 }