sources api

This commit is contained in:
merdan 2022-09-27 15:11:11 +05:00
parent 204c02d316
commit eb83b9f586
2 changed files with 36 additions and 0 deletions

View File

@ -21,6 +21,41 @@ class Vendors extends V1Controller
}
public function sources(){
$vendors = $this->vendorRepository->select('marketplace_sellers.id','url','shop_title')
->where('is_approved',true)
->with(['categories:seller_id,type,categories'])
// ->leftJoin('seller_categories','marketplace_sellers.id','=','seller_categories.seller_id')
->get();
//return $vendors;
if(! $vendors){
return response()->json(['error' => 'not found'],404);
}
// return $vendors->first()->categories()->first();
// return json_decode($cats->categories,true);
$categorizedVendors = $vendors->map(function ($item, $key){
if($item->categories && $mainCats = $item->categories()->first()){
$cat_ids = json_decode($mainCats->categories,true);
// $vendor->test = Category::collection($this->categoryRepository->getVisibleCategoryTree($cat_ids[0]));
$item->main_categories = $this->categoryRepository->whereIn('id',$cat_ids)
->select('id','image','position','parent_id','display_mode','category_icon_path')
->where('status',1)
->with(['children'=> function($q){
$q->orderBy('position','asc');
}])
->orderBy('position','asc')
->get();
}
return $item;
});
return Source::collection($categorizedVendors);
}
public function menus(){
$vendors = $this->vendorRepository->select('marketplace_sellers.id','url','shop_title')
->where('is_approved',true)
->with(['menus' => function($query){

View File

@ -36,6 +36,7 @@ Route::group(['prefix' => 'api'], function () {
//Vendors
Route::get('vendors',[Vendors::class,'index'])->name('api.vendors');
Route::get('sources',[Vendors::class,'sources'])->name('api.sources');
Route::get('menus',[Vendors::class,'menus'])->name('api.menus');
Route::get('vendor/products/{vendor_id}',[Vendors::class,'products'])->name('api.vendor.products');
Route::get('vendor/brands/{vendor_id}',[Vendors::class,'brands'])->name('api.vendor.brands');