categories with parent id

This commit is contained in:
merdiano 2021-12-30 09:31:36 +05:00
parent 1b3d3f0816
commit 2f7d088f99
3 changed files with 27 additions and 13 deletions

View File

@ -17,6 +17,7 @@ class Category extends JsonResource
{
return [
'id' => $this->id,
'parent_id' => $this->parent_id,
// 'code' => $this->code,
'name' => $this->name,
'slug' => $this->slug,
@ -32,7 +33,13 @@ class Category extends JsonResource
// 'additional' => is_array($this->resource->additional)
// ? $this->resource->additional
// : json_decode($this->resource->additional, true),
'children' => Category::collection($this->children)
$this->mergeWhen($this->showChildren(), [
'children' => Category::collection($this->children),
])
];
}
private function showChildren(){
return request()->route()->getName() === 'api.descendant-categories';
}
}

View File

@ -6,9 +6,11 @@ use Sarga\API\Http\Controllers\Channels;
use Sarga\API\Http\Controllers\IntegrationController;
use Sarga\API\Http\Controllers\Vendors;
use Sarga\API\Http\Controllers\Products;
use Sarga\Shop\Repositories\CategoryRepository;
use Webkul\API\Http\Controllers\Shop\ResourceController;
use Webkul\Attribute\Repositories\AttributeOptionRepository;
use Sarga\API\Http\Resources\Catalog\AttributeOption;
use Sarga\API\Http\Resources\Catalog\Category;
Route::group(['prefix' => 'api'], function ($router) {
Route::group(['middleware' => ['locale', 'currency']], function ($router) {
@ -19,9 +21,13 @@ Route::group(['prefix' => 'api'], function ($router) {
Route::get('vendors',[Vendors::class,'index']);
//category routes
Route::get('descendant-categories', [Categories::class, 'index']);
Route::get('descendant-categories', [Categories::class, 'index'])->name('api.descendant-categories');
Route::get('category-brands/{id}', [Categories::class, 'brands']);
Route::get('categories', [ResourceController::class, 'index'])->defaults('_config', [
'repository' => CategoryRepository::class,
'resource' => Category::class,
])->name('api.categories');
//attributes by code
Route::get('attribute-options', [ResourceController::class, 'index'])->defaults('_config', [
'repository' => AttributeOptionRepository::class,

View File

@ -11,20 +11,21 @@ use Webkul\Product\Http\Controllers\ProductController;
* marketplace routes.
*/
Route::group(['middleware' => ['web', 'admin', 'admin_locale'], 'prefix' => config('app.admin_url')], function () {
Route::prefix('marketplace/seller-categories')->group(function () {
Route::prefix('marketplace')->group(function () {
Route::get('/', 'Webkul\Marketplace\Http\Controllers\Admin\SellerCategoryController@index')->defaults('_config', [
'view' => 'sarga_admin::sellers.category.index'
])->name('admin.marketplace.seller.category.index');
Route::prefix('seller-categories')->group(function () {
Route::get('/', 'Webkul\Marketplace\Http\Controllers\Admin\SellerCategoryController@index')->defaults('_config', [
'view' => 'sarga_admin::sellers.category.index'
])->name('admin.marketplace.seller.category.index');
Route::get('create', [SellerCategoryController::class, 'create'])->defaults('_config', [
'view' => 'sarga_admin::sellers.category.create',
])->name('admin.marketplace.seller.category.create');
Route::get('edit/{id}', 'Webkul\Marketplace\Http\Controllers\Admin\SellerCategoryController@edit')->defaults('_config', [
'view' => 'sarga_admin::sellers.category.edit',
])->name('admin.marketplace.seller.category.edit');
Route::get('create', [SellerCategoryController::class, 'create'])->defaults('_config', [
'view' => 'sarga_admin::sellers.category.create',
])->name('admin.marketplace.seller.category.create');
Route::get('edit/{id}', 'Webkul\Marketplace\Http\Controllers\Admin\SellerCategoryController@edit')->defaults('_config', [
'view' => 'sarga_admin::sellers.category.edit',
])->name('admin.marketplace.seller.category.edit');
});
// seller profile routes start here
Route::get('sellers/profile/edit/{id}', 'Webkul\Marketplace\Http\Controllers\Admin\SellerController@editProfile')->defaults('_config', [
'view' => 'marketplace::admin.sellers.edit'