44
55use Commercetools \Core \Request \Carts \CartByCustomerIdGetRequest ;
66use Commercetools \Core \Request \Carts \CartByIdGetRequest ;
7+ use Commercetools \Core \Request \Carts \CartByKeyGetRequest ;
78use Commercetools \Core \Request \Carts \CartCreateRequest ;
89use Commercetools \Core \Model \Cart \CartDraft ;
9- use Commercetools \Core \Request \Carts \CartDeleteRequest ;
10+ use Commercetools \Core \Request \Carts \CartDeleteByKeyRequest ;
1011use Commercetools \Core \Model \Cart \Cart ;
12+ use Commercetools \Core \Request \Carts \CartDeleteRequest ;
1113use Commercetools \Core \Request \Carts \CartQueryRequest ;
1214use Commercetools \Core \Request \Carts \CartReplicateRequest ;
15+ use Commercetools \Core \Request \Carts \CartUpdateByKeyRequest ;
1316use Commercetools \Core \Request \Carts \CartUpdateRequest ;
1417
1518class CartRequestBuilder
@@ -37,6 +40,17 @@ public function getById($id)
3740 return $ request ;
3841 }
3942
43+ /**
44+ * @link https://docs.commercetools.com/api/projects/carts#get-a-cart-by-key
45+ * @param string $key
46+ * @return CartByKeyGetRequest
47+ */
48+ public function getByKey ($ key )
49+ {
50+ $ request = CartByKeyGetRequest::ofKey ($ key );
51+ return $ request ;
52+ }
53+
4054 /**
4155 * @link https://docs.commercetools.com/http-api-projects-carts.html#create-cart
4256 * @param CartDraft $cartDraft
@@ -48,6 +62,17 @@ public function create(CartDraft $cartDraft)
4862 return $ request ;
4963 }
5064
65+ /**
66+ * @link https://docs.commercetools.com/api/projects/carts#delete-a-cart-by-key
67+ * @param Cart $cart
68+ * @return CartDeleteByKeyRequest
69+ */
70+ public function deleteByKey (Cart $ cart )
71+ {
72+ $ request = CartDeleteByKeyRequest::ofKeyAndVersion ($ cart ->getKey (), $ cart ->getVersion ());
73+ return $ request ;
74+ }
75+
5176 /**
5277 * @link https://docs.commercetools.com/http-api-projects-carts.html#delete-cart
5378 * @param Cart $cart
@@ -81,6 +106,17 @@ public function replicate($cartId)
81106 return $ request ;
82107 }
83108
109+ /**
110+ * @link https://docs.commercetools.com/api/projects/carts#update-a-cart-by-key
111+ * @param Cart $cart
112+ * @return CartUpdateByKeyRequest
113+ */
114+ public function updateByKey (Cart $ cart )
115+ {
116+ $ request = CartUpdateByKeyRequest::ofKeyAndVersion ($ cart ->getKey (), $ cart ->getVersion ());
117+ return $ request ;
118+ }
119+
84120 /**
85121 * @link https://docs.commercetools.com/http-api-projects-carts.html#update-cart
86122 * @param Cart $cart
0 commit comments