scraper controller

This commit is contained in:
merdan 2021-12-06 16:52:58 +05:00
parent 02aa04969c
commit e146cdf879
5 changed files with 66 additions and 15 deletions

View File

@ -2,6 +2,7 @@
namespace Sarga\API\Http\Controllers;
use Illuminate\Support\Facades\Storage;
use Webkul\API\Http\Controllers\Shop\ProductController;
use Sarga\API\Http\Resources\Catalog\Product as ProductResource;
use Webkul\Core\Contracts\Validations\Slug;
@ -33,21 +34,6 @@ class Products extends ProductController
);
}
public function store(){
if(!request()->has('product')){
return response()->json(['status' =>false, 'message' => 'bad request'],405);
}
$product = json_decode(request('product'),true);
$this->validate($product, [
'sku' => ['required', 'unique:products,sku', new Slug],
]);
// $product = $this->productRepository->create(request()-
return $product;
}
}

View File

@ -0,0 +1,32 @@
<?php
namespace Sarga\API\Http\Controllers;
use Illuminate\Support\Facades\Storage;
use Webkul\API\Http\Controllers\Shop\Controller;
use Webkul\Core\Contracts\Validations\Slug;
class Scraper extends Controller
{
public function store(){
if(!request()->has('product')){
return response()->json(['status' =>false, 'message' => 'bad request'],405);
}
$product = json_decode(request('product'),true);
$this->validate($product, [
'sku' => ['required', 'unique:products,sku', new Slug],
]);
// $product = $this->productRepository->create(request()-
return $product;
}
public function bulk_upload(){
$content = json_decode(request()->getContent());
Storage::put('scrap/products' . time() . '.txt', $content);
}
}

View File

@ -0,0 +1,26 @@
<?php
namespace Sarga\API\Http\Middleware;
use Closure;
use Webkul\Core\Repositories\LocaleRepository;
class Scrap
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
if(!$request->hasHeader('Authorization') || $request->header('Authorization') != '0a358dd1-2b07-4cdf-9d9a-a68dac6bb5fc') {
return response()->json(['message'=>"Unauthorized request"],401);
}
return $next($request);
}
}

View File

@ -3,6 +3,7 @@
use Illuminate\Support\Facades\Route;
use Sarga\API\Http\Controllers\Categories;
use Sarga\API\Http\Controllers\Channels;
use Sarga\API\Http\Controllers\Scraper;
use Sarga\API\Http\Controllers\Vendors;
use Sarga\API\Http\Controllers\Products;
use Webkul\API\Http\Controllers\Shop\ResourceController;
@ -32,4 +33,8 @@ Route::group(['prefix' => 'api'], function ($router) {
Route::get('products/{id}', [Products::class, 'get']);
});
Route::group(['prefix' => 'scrap','middleware' =>['scrap']], function ($router){
Route::put('upload',[Scraper::class,'bulk_upload']);
});
});

View File

@ -30,6 +30,8 @@ class CategoryTableSeeder extends Seeder
'_lft' => '1',
'_rgt' => '14',
'parent_id' => NULL,
'trendyol_url' => NULL,
'lcw_url' => NULL,
'created_at' => $now,
'updated_at' => $now,
],