parent
5d0c12fac1
commit
3daf18f5c3
@ -0,0 +1,40 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\DotsAPI\API\v2;
|
||||||
|
|
||||||
|
use App\DotsAPI\API\v2\AbstractItemAPI;
|
||||||
|
use App\DotsAPI\API\v2\ItemAPI;
|
||||||
|
use App\Models\Company;
|
||||||
|
use App\Models\Category;
|
||||||
|
use App\Models\Item;
|
||||||
|
|
||||||
|
class CategoryItemAPI extends AbstractItemAPI
|
||||||
|
{
|
||||||
|
public function getMap($company_uuid = null) {
|
||||||
|
$endpoint = '/api/v2/companies/' . $company_uuid . '/items-by-categories/';
|
||||||
|
|
||||||
|
$categotiesItemsMap = $this->fetcher->get($endpoint);
|
||||||
|
|
||||||
|
return $categotiesItemsMap;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function saveMap($categotiesItems, $company = null) {
|
||||||
|
foreach ($categotiesItems as $category) {
|
||||||
|
$uuid = $category['id'];
|
||||||
|
$name = $category['name'];
|
||||||
|
$url = $category['url'];
|
||||||
|
|
||||||
|
$category = Category::firstOrCreate([
|
||||||
|
'uuid' => $uuid,
|
||||||
|
'name' => $name,
|
||||||
|
'url' => $url,
|
||||||
|
'company_id' => $company->id
|
||||||
|
]);
|
||||||
|
|
||||||
|
$item = new ItemAPI($this->fetcher);
|
||||||
|
|
||||||
|
$item->saveMap($category['items']);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,34 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\DotsAPI\API\v2;
|
||||||
|
|
||||||
|
use App\DotsAPI\API\v2\AbstractItemAPI;
|
||||||
|
use App\Models\Item;
|
||||||
|
|
||||||
|
class ItemAPI extends AbstractItemAPI
|
||||||
|
{
|
||||||
|
public function getMap($category_uuid = null) {
|
||||||
|
//
|
||||||
|
}
|
||||||
|
|
||||||
|
public function saveMap($items, $category = null) {
|
||||||
|
foreach ($items as $item) {
|
||||||
|
$uuid = $item['id'];
|
||||||
|
$name = $item['name'];
|
||||||
|
$url = $item['url'];
|
||||||
|
$description = $item['description'] ?? '';
|
||||||
|
$price = $item['price'] ?? 0.0;
|
||||||
|
$image = $item['image'] ?? '';
|
||||||
|
|
||||||
|
Item::firstOrCreate([
|
||||||
|
'uuid' => $uuid,
|
||||||
|
'name' => $name,
|
||||||
|
'url' => $url,
|
||||||
|
'description' => $description,
|
||||||
|
'price' => $price,
|
||||||
|
'image' => $image,
|
||||||
|
'category_id' => $category->id,
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in new issue