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