クラス
ComboGroup
ソース ソース
ファイル: src/REST/ComboGroup.php
class ComboGroup
{
/**
* Creates a new combo group for a Welcart item and returns it
*
* @author Evan D Shaw <evandanielshaw@gmail.com>
* @param array $args
* @param array $payload
* @return GenericError|ComboGroupType
*/
public function create(array $args, array $payload) {
$comboSetId = (int)$args['comboSetId'];
$label = !empty($payload['label']) ? (string)$payload['label'] : '';
$optional = !empty($payload['optional']) ? (bool)$payload['optional'] : false;
$enableMultiSelect = !empty($payload['enableMultiSelect']) ? (bool)$payload['enableMultiSelect'] : false;
return API\ComboGroup::createComboGroup($comboSetId, $label, $optional, $enableMultiSelect);
}
/**
* Gets a combo group by id or returns all groups
*
* @author Evan D Shaw <evandanielshaw@gmail.com>
* @param array $args
* @param array $payload
* @return GenericError|ComboGroupType|ComboGroupType[]
*/
public function get(array $args, array $payload) {
$comboSetId = (int)$args['comboSetId'];
$id = !empty($payload['groupId']) ? (int)$payload['groupId'] : null;
if (!empty($id)) {
return API\ComboGroup::getComboGroupById($id);
}
return API\ComboGroup::getAllComboGroupsByComboSetId($comboSetId);
}
/**
* Updates a combo group and returns it
*
* @author Evan D Shaw <evandanielshaw@gmail.com>
* @param array $args
* @param array $payload
* @return GenericError|ComboGroupType
*/
public function update(array $args, array $payload) {
$groupId = (int)$args['groupId'];
$label = !empty($payload['label']) ? (string)$payload['label'] : '';
$optional = !empty($payload['optional']) ? (bool)$payload['optional'] : false;
$enableMultiSelect = !empty($payload['enableMultiSelect']) ? (bool)$payload['enableMultiSelect'] : false;
return API\ComboGroup::updateComboGroup($groupId, $label, $optional, $enableMultiSelect);
}
/**
* Deletes a combo group
*
* @author Evan D Shaw <evandanielshaw@gmail.com>
* @param array $args
* @return GenericError|string `success` on success
*/
public function delete(array $args) {
$groupId = (int)$args['groupId'];
$res = API\ComboGroup::deleteComboGroup($groupId);
if ($res instanceof GenericError) {
return $res;
}
return 'success';
}
/**
* Duplicates a combo group
*
* @author Evan D Shaw <evandanielshaw@gmail.com>
* @param array $args
* @param array $payload
* @return GenericError|ComboGroupType
*/
public function duplicate(array $args, array $payload) {
$groupId = (int)$args['groupId'];
$label = !empty($payload['label']) ? (string)$payload['label'] : '';
return API\ComboGroup::duplicateComboGroup($groupId, $label);
}
/**
* Re-orders all groups in a combo item
*
* @author Evan D Shaw <evandanielshaw@gmail.com>
* @param array $args
* @param array $payload
* @return GenericError|ComboGroupType[]
*/
public function reorder(array $args, array $payload) {
$comboSetId = (int)$args['comboSetId'];
$groupIds = (array)$payload['groupIds'];
$res = API\ComboGroup::reorderComboGroups($comboSetId, $groupIds);
if ($res instanceof GenericError) {
return $res;
}
return API\ComboGroup::getAllComboGroupsByComboSetId($comboSetId);
}
}