Merge pull request #19375 from civicrm/5.34
[civicrm-core.git] / api / v3 / Premium.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 premiums.
14 *
15 * Premiums are used as incentive gifts on contribution pages.
16 * Premiums contain "Products" which has a separate api.
17 * Use chaining to create a premium and related products in one api call.
7d9f50a2
CW
18 *
19 * @package CiviCRM_APIv3
7d9f50a2
CW
20 */
21
22/**
9d32e6f7 23 * Save a premium.
7d9f50a2 24 *
c490a46a 25 * @param array $params
f84e38ab
EM
26 *
27 * @throws API_Exception
a6c01b45 28 * @return array
7d9f50a2
CW
29 */
30function civicrm_api3_premium_create($params) {
a25b46e9 31 return _civicrm_api3_basic_create(_civicrm_api3_get_BAO(__FUNCTION__), $params, 'Premium');
7d9f50a2
CW
32}
33
34/**
9d32e6f7 35 * Get a premium.
7d9f50a2 36 *
c490a46a 37 * @param array $params
f84e38ab 38 *
a6c01b45 39 * @return array
16b10e64 40 * Array of retrieved premium property values.
7d9f50a2
CW
41 */
42function civicrm_api3_premium_get($params) {
43 return _civicrm_api3_basic_get(_civicrm_api3_get_BAO(__FUNCTION__), $params);
44}
45
46/**
9d32e6f7 47 * Delete a premium.
7d9f50a2 48 *
c490a46a 49 * @param array $params
f84e38ab
EM
50 *
51 * @throws API_Exception
a6c01b45 52 * @return array
16b10e64 53 * Array of deleted values.
7d9f50a2
CW
54 */
55function civicrm_api3_premium_delete($params) {
56 return _civicrm_api3_basic_delete(_civicrm_api3_get_BAO(__FUNCTION__), $params);
57}
58
59/**
9d32e6f7
EM
60 * Return field specification specific to get requests.
61 *
d0997921 62 * @param array $params
7d9f50a2
CW
63 */
64function _civicrm_api3_premium_get_spec(&$params) {
cf8f0fff 65 $params['premiums_active']['api.aliases'] = ['is_active'];
7d9f50a2
CW
66}
67
68/**
9d32e6f7
EM
69 * Return field specification specific to create requests.
70 *
d0997921 71 * @param array $params
7d9f50a2
CW
72 */
73function _civicrm_api3_premium_create_spec(&$params) {
cf8f0fff 74 $params['premiums_active']['api.aliases'] = ['is_active'];
7d9f50a2 75}