クラス
GroupItem
ソース ソース
ファイル: src/REST/GroupItem.php
class GroupItem { /** * Creates a new combo group item and returns it * * @author Evan D Shaw <evandanielshaw@gmail.com> * @param array $args * @param array $payload * @return GenericError|GroupItemType */ public function create(array $args, array $payload) { $requiredFields = ['welitemSkuMetaId']; foreach ($requiredFields as $field) { if (empty($payload[$field])) { return Master::getErrorStore()->getErrorResponse(ErrorStore::REQUIRED_FIELDS_MISSING, [$field]); } } $groupId = (int)$args['groupId']; $welitemSkuMetaId = (int)$payload['welitemSkuMetaId']; $priceModifier = !empty($payload['priceModifier']) ? (float)$payload['priceModifier'] : 0; $itemLabel = !empty($payload['itemLabel']) ? (string)$payload['itemLabel'] : ''; $itemQuantity = !empty($payload['itemQuantity']) ? (int)$payload['itemQuantity'] : 1; $itemQuantity = $itemQuantity < 1 ? 1 : $itemQuantity; $position = !empty($payload['position']) ? (int)$payload['position'] : 0; return API\GroupItem::createGroupItem( $groupId, $welitemSkuMetaId, $priceModifier, $itemLabel, $itemQuantity, $position ); } /** * Gets a group item by id or returns all group items * * @author Evan D Shaw <evandanielshaw@gmail.com> * @param array $args * @param array $payload * @return GenericError|GroupItemType|GroupItemType[] */ public function get(array $args, array $payload) { $groupId = (int)$args['groupId']; $id = !empty($payload['itemId']) ? (int)$payload['itemId'] : null; if (!empty($id)) { return API\GroupItem::getGroupItemById($id); } return API\GroupItem::getAllGroupItemsByComboGroupId($groupId); } /** * Updates a combo group item and returns it * * @author Evan D Shaw <evandanielshaw@gmail.com> * @param array $args * @param array $payload * @return GenericError|GroupItemType */ public function update(array $args, array $payload) { $itemId = (int)$args['itemId']; $priceModifier = !empty($payload['priceModifier']) ? (float)$payload['priceModifier'] : 0; $itemLabel = !empty($payload['itemLabel']) ? (string)$payload['itemLabel'] : ''; $itemQuantity = !empty($payload['itemQuantity']) ? (int)$payload['itemQuantity'] : 1; $itemQuantity = $itemQuantity < 1 ? 1 : $itemQuantity; return API\GroupItem::updateGroupItem($itemId, $priceModifier, $itemLabel, $itemQuantity); } /** * Deletes a combo group item * * @author Evan D Shaw <evandanielshaw@gmail.com> * @param array $args * @return GenericError|string `success` on success */ public function delete(array $args) { $itemId = (int)$args['itemId']; $res = API\GroupItem::deleteGroupItem($itemId); if ($res instanceof GenericError) { return $res; } return 'success'; } /** * Re-orders all items in a group * * @author Evan D Shaw <evandanielshaw@gmail.com> * @param array $args * @param array $payload * @return GenericError|GroupItemType[] */ public function reorder(array $args, array $payload) { $groupId = (int)$args['groupId']; $itemIds = (array)$payload['itemIds']; $res = API\GroupItem::reorderGroupItems($groupId, $itemIds); if ($res instanceof GenericError) { return $res; } return API\GroupItem::getAllGroupItemsByComboGroupId($groupId); } }