Merge pull request #18706 from civicrm/5.30
[civicrm-core.git] / api / v3 / Product.php
CommitLineData
7d9f50a2 1<?php
7d9f50a2
CW
2/*
3 +--------------------------------------------------------------------+
a30c801b 4 | Copyright CiviCRM LLC. All rights reserved. |
7d9f50a2 5 | |
a30c801b
TO
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 |
7d9f50a2 9 +--------------------------------------------------------------------+
d25dd0ee 10 */
7d9f50a2
CW
11
12/**
244bbdd8
CW
13 * This api exposes CiviCRM premium products.
14 *
15 * Premiums are used as incentive gifts on contribution pages.
16 * Use chaining to create a premium and related products in one api call.
7d9f50a2
CW
17 *
18 * @package CiviCRM_APIv3
7d9f50a2
CW
19 */
20
21/**
9d32e6f7 22 * Save a product.
7d9f50a2 23 *
c490a46a 24 * @param array $params
1fd111c8
EM
25 *
26 * @throws API_Exception
a6c01b45 27 * @return array
7d9f50a2
CW
28 */
29function civicrm_api3_product_create($params) {
a25b46e9 30 return _civicrm_api3_basic_create(_civicrm_api3_get_BAO(__FUNCTION__), $params, 'Product');
7d9f50a2
CW
31}
32
a9140b42
EM
33/**
34 * Adjust Metadata for Create action.
35 *
36 * The metadata is used for setting defaults, documentation & validation.
37 *
38 * @param array $params
39 * Array of parameters determined by getfields.
40 */
41function _civicrm_api3_product_create_spec(&$params) {
42 $params['is_active']['api.default'] = 1;
fc9a794a 43 $params['name']['api.required'] = 1;
a9140b42
EM
44}
45
7d9f50a2 46/**
9d32e6f7 47 * Get a product.
7d9f50a2 48 *
c490a46a 49 * @param array $params
1fd111c8 50 *
a6c01b45 51 * @return array
16b10e64 52 * Array of retrieved product property values.
7d9f50a2
CW
53 */
54function civicrm_api3_product_get($params) {
55 return _civicrm_api3_basic_get(_civicrm_api3_get_BAO(__FUNCTION__), $params);
56}
57
58/**
9d32e6f7 59 * Delete a product.
7d9f50a2 60 *
c490a46a 61 * @param array $params
1fd111c8
EM
62 *
63 * @throws API_Exception
a6c01b45 64 * @return array
16b10e64 65 * Array of deleted values.
7d9f50a2
CW
66 */
67function civicrm_api3_product_delete($params) {
68 return _civicrm_api3_basic_delete(_civicrm_api3_get_BAO(__FUNCTION__), $params);
69}