feat: Implement full CRUD API for product categories and products, including recursive product counts for categories.

This commit is contained in:
pbao9
2026-03-06 11:15:26 +07:00
parent cca4e0b86f
commit cb8510cf56
5 changed files with 302 additions and 1 deletions
+13
View File
@@ -4,6 +4,7 @@ use App\Http\Controllers\Api\Admin\Auth\AuthController;
use App\Http\Controllers\Api\Admin\Customer\CustomerController;
use App\Http\Controllers\Api\Admin\Invoice\InvoiceController;
use App\Http\Controllers\Api\Admin\Order\OrderController;
use App\Http\Controllers\Api\Admin\Product\ProductCategoryController;
use App\Http\Controllers\Api\Admin\Product\ProductController;
use App\Http\Controllers\Api\Admin\VCenter\VCenterController;
use App\Http\Services\Media;
@@ -43,7 +44,19 @@ Route::prefix('v1')
// Products
Route::prefix('products')->group(function () {
Route::get('/', [ProductController::class, 'index']);
Route::post('/', [ProductController::class, 'store']);
Route::get('{id}', [ProductController::class, 'show']);
Route::put('{id}', [ProductController::class, 'update']);
Route::delete('{id}', [ProductController::class, 'destroy']);
});
// Product Categories (Groups)
Route::prefix('product-categories')->group(function () {
Route::get('/', [ProductCategoryController::class, 'index']);
Route::post('/', [ProductCategoryController::class, 'store']);
Route::get('{id}', [ProductCategoryController::class, 'show']);
Route::put('{id}', [ProductCategoryController::class, 'update']);
Route::delete('{id}', [ProductCategoryController::class, 'destroy']);
});
// Orders