Add WooCommerce product and category management.
Deploy Ladill Woo Manager / deploy (push) Successful in 55s

Sync catalog via plugin webhooks and REST proxy, with list/create/edit UI and updated logo from monolith assets.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
isaacclad
2026-07-06 23:40:14 +00:00
co-authored by Cursor
parent 2a79f0fcca
commit e4b6c2c1ba
24 changed files with 1593 additions and 31 deletions
+15
View File
@@ -4,9 +4,11 @@ use App\Http\Controllers\Api\StoreActivationController;
use App\Http\Controllers\Auth\SsoLoginController;
use App\Http\Controllers\NotificationController;
use App\Http\Controllers\WalletBalanceController;
use App\Http\Controllers\Woo\CategoryController;
use App\Http\Controllers\Woo\ConnectWordPressController;
use App\Http\Controllers\Woo\DashboardController;
use App\Http\Controllers\Woo\OrderController;
use App\Http\Controllers\Woo\ProductController;
use App\Http\Controllers\Woo\StoreController;
use App\Http\Controllers\WooWebhookController;
use Illuminate\Support\Facades\Route;
@@ -39,6 +41,19 @@ Route::middleware(['auth', 'platform.session'])->group(function () {
Route::get('/dashboard', [DashboardController::class, 'index'])->name('woo.dashboard');
Route::get('/orders', [OrderController::class, 'index'])->name('woo.orders.index');
Route::patch('/orders/{order}/status', [OrderController::class, 'updateStatus'])->name('woo.orders.update-status');
Route::get('/products', [ProductController::class, 'index'])->name('woo.products.index');
Route::get('/products/create', [ProductController::class, 'create'])->name('woo.products.create');
Route::post('/products', [ProductController::class, 'store'])->name('woo.products.store');
Route::get('/products/{product}/edit', [ProductController::class, 'edit'])->name('woo.products.edit');
Route::patch('/products/{product}', [ProductController::class, 'update'])->name('woo.products.update');
Route::post('/products/sync', [ProductController::class, 'sync'])->name('woo.products.sync');
Route::get('/categories', [CategoryController::class, 'index'])->name('woo.categories.index');
Route::get('/categories/create', [CategoryController::class, 'create'])->name('woo.categories.create');
Route::post('/categories', [CategoryController::class, 'store'])->name('woo.categories.store');
Route::get('/categories/{category}/edit', [CategoryController::class, 'edit'])->name('woo.categories.edit');
Route::patch('/categories/{category}', [CategoryController::class, 'update'])->name('woo.categories.update');
Route::delete('/categories/{category}', [CategoryController::class, 'destroy'])->name('woo.categories.destroy');
Route::post('/categories/sync', [CategoryController::class, 'sync'])->name('woo.categories.sync');
Route::get('/stores', [StoreController::class, 'index'])->name('woo.stores.index');
Route::delete('/stores/{store}', [StoreController::class, 'destroy'])->name('woo.stores.destroy');