Skip to content

Commit 5514f4e

Browse files
author
Bohdan Berezhniy
committed
13320 make rest api works with localizations
1 parent 75c8351 commit 5514f4e

File tree

3 files changed

+40
-5
lines changed

3 files changed

+40
-5
lines changed

Api/ManagementInterface.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,9 +43,10 @@ public function delete($id);
4343
*
4444
* @api
4545
* @param int $id
46+
* @param int|null $storeId
4647
* @return bool
4748
*/
48-
public function get($id);
49+
public function get($id, $storeId = null);
4950

5051
/**
5152
* Get item by id and store id, only if item published

Model/AbstractManagement.php

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -114,13 +114,20 @@ public function create($data)
114114
public function update($id, $data)
115115
{
116116
try {
117+
$data = json_decode($data, true);
117118
$item = $this->_itemFactory->create();
119+
120+
if (!empty($data['store_id'])) {
121+
$item->setStoreId((int)$data['store_id']);
122+
$item->setData('data_to_update', $data);
123+
}
124+
118125
$item->load($id);
119126

120127
if (!$item->getId()) {
121128
return false;
122129
}
123-
$data = json_decode($data, true);
130+
124131
foreach ($this->_imagesMap as $key) {
125132
if (empty($data[$key . '_name']) || empty($data[$key . '_content'])) {
126133
unset($data[$key . '_name']);
@@ -162,12 +169,15 @@ public function delete($id)
162169
* Get item by id
163170
*
164171
* @param int $id
172+
* @param int|null $storeId
165173
* @return bool
166174
*/
167-
public function get($id)
175+
public function get($id, $storeId = 0)
168176
{
169177
try {
170-
$item = $this->_itemFactory->create();
178+
$item = $this->_itemFactory->create()
179+
->setStoreId($storeId);
180+
171181
$item->load($id);
172182

173183
if (!$item->getId()) {

etc/webapi.xml

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,14 @@
4949
<resource ref="Magefan_Blog::post"/>
5050
</resources>
5151
</route>
52+
<!-- Example: curl "http://mystore.com/index.php/rest/V1/blog/post/:id/:store_id" \
53+
-H "Authorization: Bearer XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" -->
54+
<route url="/V1/blog/post/:id/:store_id" method="GET">
55+
<service class="Magefan\Blog\Api\PostManagementInterface" method="get"/>
56+
<resources>
57+
<resource ref="Magefan_Blog::post"/>
58+
</resources>
59+
</route>
5260
<!-- Example: curl "http://mystore.com/index.php/rest/V1/blog/post/view/:id/:store_id" -->
5361
<route url="/V1/blog/post/view/:id/:store_id" method="GET">
5462
<service class="Magefan\Blog\Api\PostManagementInterface" method="view"/>
@@ -100,6 +108,14 @@
100108
<resource ref="Magefan_Blog::category"/>
101109
</resources>
102110
</route>
111+
<!-- Example: curl "http://mystore.com/index.php/rest/V1/blog/category/:id/:store_id" \
112+
-H "Authorization: Bearer XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" -->
113+
<route url="/V1/blog/category/:id/:store_id" method="GET">
114+
<service class="Magefan\Blog\Api\CategoryManagementInterface" method="get"/>
115+
<resources>
116+
<resource ref="Magefan_Blog::category"/>
117+
</resources>
118+
</route>
103119
<!-- Example: curl "http://mystore.com/index.php/rest/V1/blog/category/view/:id/:store_id" -->
104120
<route url="/V1/blog/category/view/:id/:store_id" method="GET">
105121
<service class="Magefan\Blog\Api\CategoryManagementInterface" method="view"/>
@@ -144,13 +160,21 @@
144160
</resources>
145161
</route>
146162
<!-- Example: curl "http://mystore.com/index.php/rest/V1/blog/tag/:id" \
147-
-H "Authorization: Bearer XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" -->
163+
-H "Authorization: Bearer XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" -->
148164
<route url="/V1/blog/tag/:id" method="GET">
149165
<service class="Magefan\Blog\Api\TagManagementInterface" method="get"/>
150166
<resources>
151167
<resource ref="Magefan_Blog::tag"/>
152168
</resources>
153169
</route>
170+
<!-- Example: curl "http://mystore.com/index.php/rest/V1/blog/tag/:id/:store_id" \
171+
-H "Authorization: Bearer XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" -->
172+
<route url="/V1/blog/tag/:id/:store_id" method="GET">
173+
<service class="Magefan\Blog\Api\TagManagementInterface" method="get"/>
174+
<resources>
175+
<resource ref="Magefan_Blog::tag"/>
176+
</resources>
177+
</route>
154178
<!-- Example: curl "http://mystore.com/index.php/rest/V1/blog/tag/view/:id/:store_id" -->
155179
<route url="/V1/blog/tag/view/:id/:store_id" method="GET">
156180
<service class="Magefan\Blog\Api\TagManagementInterface" method="view"/>

0 commit comments

Comments
 (0)