Merge pull request #23871 from agileware/CIVICRM-2004
[civicrm-core.git] / Civi / Api4 / Contact.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 * Contacts - Individuals, Organizations, Households.
15 *
16 * This is the central entity in the CiviCRM database, and links to
17 * many other entities (Email, Phone, Participant, etc.).
18 *
19 * Creating a new contact requires at minimum a name or email address.
20 *
21 * @see https://docs.civicrm.org/user/en/latest/organising-your-data/contacts/
22 * @searchable primary
23 * @orderBy sort_name
24 * @since 5.19
25 * @package Civi\Api4
26 */
27 class Contact extends Generic\DAOEntity {
28
29 /**
30 * @param bool $checkPermissions
31 * @return Action\Contact\Create
32 */
33 public static function create($checkPermissions = TRUE) {
34 return (new Action\Contact\Create(__CLASS__, __FUNCTION__))
35 ->setCheckPermissions($checkPermissions);
36 }
37
38 /**
39 * @param bool $checkPermissions
40 * @return Action\Contact\Update
41 */
42 public static function update($checkPermissions = TRUE) {
43 return (new Action\Contact\Update(__CLASS__, __FUNCTION__))
44 ->setCheckPermissions($checkPermissions);
45 }
46
47 /**
48 * @param bool $checkPermissions
49 * @return Action\Contact\Save
50 */
51 public static function save($checkPermissions = TRUE) {
52 return (new Action\Contact\Save(__CLASS__, __FUNCTION__))
53 ->setCheckPermissions($checkPermissions);
54 }
55
56 /**
57 * @param bool $checkPermissions
58 * @return Action\Contact\Delete
59 */
60 public static function delete($checkPermissions = TRUE) {
61 return (new Action\Contact\Delete(__CLASS__, __FUNCTION__))
62 ->setCheckPermissions($checkPermissions);
63 }
64
65 /**
66 * @param bool $checkPermissions
67 * @return Action\Contact\GetChecksum
68 */
69 public static function getChecksum($checkPermissions = TRUE) {
70 return (new Action\Contact\GetChecksum(__CLASS__, __FUNCTION__))
71 ->setCheckPermissions($checkPermissions);
72 }
73
74 /**
75 * @param bool $checkPermissions
76 * @return Action\Contact\ValidateChecksum
77 */
78 public static function validateChecksum($checkPermissions = TRUE) {
79 return (new Action\Contact\ValidateChecksum(__CLASS__, __FUNCTION__))
80 ->setCheckPermissions($checkPermissions);
81 }
82
83 }