From efd2565fc06191b37bf8eaab53b8f712a37df8bf Mon Sep 17 00:00:00 2001 From: "nikos.sotiropoulos" Date: Fri, 15 Jun 2018 17:35:39 +0200 Subject: [PATCH] feat(ShoppingList): support AnonymousId on ShoppingList owner --- .../Update/ShoppingListsActionBuilder.php | 12 ++++++ src/Core/Model/ShoppingList/ShoppingList.php | 5 ++- .../Model/ShoppingList/ShoppingListDraft.php | 5 ++- .../ShoppingListSetAnonymousIdAction.php | 37 +++++++++++++++++++ 4 files changed, 57 insertions(+), 2 deletions(-) create mode 100644 src/Core/Request/ShoppingLists/Command/ShoppingListSetAnonymousIdAction.php diff --git a/src/Core/Builder/Update/ShoppingListsActionBuilder.php b/src/Core/Builder/Update/ShoppingListsActionBuilder.php index 5a92e76d23..5ef5f4b933 100644 --- a/src/Core/Builder/Update/ShoppingListsActionBuilder.php +++ b/src/Core/Builder/Update/ShoppingListsActionBuilder.php @@ -14,6 +14,7 @@ use Commercetools\Core\Request\ShoppingLists\Command\ShoppingListChangeTextLineItemsOrderAction; use Commercetools\Core\Request\ShoppingLists\Command\ShoppingListRemoveLineItemAction; use Commercetools\Core\Request\ShoppingLists\Command\ShoppingListRemoveTextLineItemAction; +use Commercetools\Core\Request\ShoppingLists\Command\ShoppingListSetAnonymousIdAction; use Commercetools\Core\Request\ShoppingLists\Command\ShoppingListSetCustomFieldAction; use Commercetools\Core\Request\ShoppingLists\Command\ShoppingListSetCustomTypeAction; use Commercetools\Core\Request\ShoppingLists\Command\ShoppingListSetCustomerAction; @@ -141,6 +142,17 @@ public function removeTextLineItem($action = null) return $this; } + /** + * + * @param ShoppingListSetAnonymousIdAction|callable $action + * @return $this + */ + public function setAnonymousId($action = null) + { + $this->addAction($this->resolveAction(ShoppingListSetAnonymousIdAction::class, $action)); + return $this; + } + /** * @link https://docs.commercetools.com/http-api-projects-shoppingLists.html#set-customField * @param ShoppingListSetCustomFieldAction|callable $action diff --git a/src/Core/Model/ShoppingList/ShoppingList.php b/src/Core/Model/ShoppingList/ShoppingList.php index e574ee9308..d404faa88c 100644 --- a/src/Core/Model/ShoppingList/ShoppingList.php +++ b/src/Core/Model/ShoppingList/ShoppingList.php @@ -41,6 +41,8 @@ * @method ShoppingList setCustom(CustomFieldObject $custom = null) * @method int getDeleteDaysAfterLastModification() * @method ShoppingList setDeleteDaysAfterLastModification(int $deleteDaysAfterLastModification = null) + * @method string getAnonymousId() + * @method ShoppingList setAnonymousId(string $anonymousId = null) */ class ShoppingList extends JsonObject { @@ -65,7 +67,8 @@ public function fieldDefinitions() 'lineItems' => [static::TYPE => LineItemCollection::class], 'textLineItems' => [static::TYPE => TextLineItemCollection::class], 'custom' => [static::TYPE => CustomFieldObject::class], - 'deleteDaysAfterLastModification' => [static::TYPE => 'int'] + 'deleteDaysAfterLastModification' => [static::TYPE => 'int'], + 'anonymousId' => [static::TYPE => 'string'] ]; } } diff --git a/src/Core/Model/ShoppingList/ShoppingListDraft.php b/src/Core/Model/ShoppingList/ShoppingListDraft.php index c47599fec1..c100659de0 100644 --- a/src/Core/Model/ShoppingList/ShoppingListDraft.php +++ b/src/Core/Model/ShoppingList/ShoppingListDraft.php @@ -32,6 +32,8 @@ * @method ShoppingListDraft setCustom(CustomFieldObjectDraft $custom = null) * @method int getDeleteDaysAfterLastModification() * @method ShoppingListDraft setDeleteDaysAfterLastModification(int $deleteDaysAfterLastModification = null) + * @method string getAnonymousId() + * @method ShoppingListDraft setAnonymousId(string $anonymousId = null) */ class ShoppingListDraft extends Resource { @@ -46,7 +48,8 @@ public function fieldDefinitions() 'lineItems' => [static::TYPE => LineItemDraftCollection::class], 'textLineItems' => [static::TYPE => TextLineItemDraftCollection::class], 'custom' => [static::TYPE => CustomFieldObjectDraft::class], - 'deleteDaysAfterLastModification' => [static::TYPE => 'int'] + 'deleteDaysAfterLastModification' => [static::TYPE => 'int'], + 'anonymousId' => [static::TYPE => 'string'] ]; } diff --git a/src/Core/Request/ShoppingLists/Command/ShoppingListSetAnonymousIdAction.php b/src/Core/Request/ShoppingLists/Command/ShoppingListSetAnonymousIdAction.php new file mode 100644 index 0000000000..e3ac072c79 --- /dev/null +++ b/src/Core/Request/ShoppingLists/Command/ShoppingListSetAnonymousIdAction.php @@ -0,0 +1,37 @@ + [static::TYPE => 'string'], + 'anonymousId' => [static::TYPE => 'string'], + ]; + } + + /** + * @param array $data + * @param Context|callable $context + */ + public function __construct(array $data = [], $context = null) + { + parent::__construct($data, $context); + $this->setAction('setAnonymousId'); + } +}