33namespace Commercetools \Core \Builder \Request ;
44
55use Commercetools \Core \Request \Zones \ZoneByIdGetRequest ;
6+ use Commercetools \Core \Request \Zones \ZoneByKeyGetRequest ;
67use Commercetools \Core \Request \Zones \ZoneCreateRequest ;
78use Commercetools \Core \Model \Zone \ZoneDraft ;
8- use Commercetools \Core \Request \Zones \ZoneDeleteRequest ;
9+ use Commercetools \Core \Request \Zones \ZoneDeleteByKeyRequest ;
910use Commercetools \Core \Model \Zone \Zone ;
11+ use Commercetools \Core \Request \Zones \ZoneDeleteRequest ;
1012use Commercetools \Core \Request \Zones \ZoneQueryRequest ;
13+ use Commercetools \Core \Request \Zones \ZoneUpdateByKeyRequest ;
1114use Commercetools \Core \Request \Zones \ZoneUpdateRequest ;
1215
1316class ZoneRequestBuilder
@@ -24,6 +27,17 @@ public function getById($id)
2427 return $ request ;
2528 }
2629
30+ /**
31+ * @link https://docs.commercetools.com/http-api-projects-zones.html#get-zone-by-key
32+ * @param string $key
33+ * @return ZoneByKeyGetRequest
34+ */
35+ public function getByKey ($ key )
36+ {
37+ $ request = ZoneByKeyGetRequest::ofKey ($ key );
38+ return $ request ;
39+ }
40+
2741 /**
2842 * @link https://docs.commercetools.com/http-api-projects-zones.html#create-zone
2943 * @param ZoneDraft $zone
@@ -35,6 +49,17 @@ public function create(ZoneDraft $zone)
3549 return $ request ;
3650 }
3751
52+ /**
53+ * @link https://docs.commercetools.com/http-api-projects-zones.html#delete-zone-by-key
54+ * @param Zone $zone
55+ * @return ZoneDeleteByKeyRequest
56+ */
57+ public function deleteByKey (Zone $ zone )
58+ {
59+ $ request = ZoneDeleteByKeyRequest::ofKeyAndVersion ($ zone ->getKey (), $ zone ->getVersion ());
60+ return $ request ;
61+ }
62+
3863 /**
3964 * @link https://docs.commercetools.com/http-api-projects-zones.html#delete-zone
4065 * @param Zone $zone
@@ -57,6 +82,17 @@ public function query()
5782 return $ request ;
5883 }
5984
85+ /**
86+ * @link https://docs.commercetools.com/http-api-projects-zones.html#update-zone-by-key
87+ * @param Zone $zone
88+ * @return ZoneUpdateByKeyRequest
89+ */
90+ public function updateByKey (Zone $ zone )
91+ {
92+ $ request = ZoneUpdateByKeyRequest::ofKeyAndVersion ($ zone ->getKey (), $ zone ->getVersion ());
93+ return $ request ;
94+ }
95+
6096 /**
6197 * @link https://docs.commercetools.com/http-api-projects-zones.html#update-zone
6298 * @param Zone $zone
0 commit comments