File: /home/royaltuning/public_html/public/backoffice.royaltuning.hu/routes/backend/admin.php
<?php
use App\Http\Controllers\Backend\DashboardController;
use App\Http\Controllers\Backend\Orders\BlacklistedListController;
use App\Http\Controllers\Backend\Orders\BlacklistedOrdersController;
use App\Http\Controllers\Backend\Orders\CODOrdersController;
use App\Http\Controllers\Backend\Orders\DuplicateOrdersController;
use App\Http\Controllers\Backend\Orders\OrdersController;
use App\Http\Controllers\Backend\Orders\ValidationOrdersController;
use Tabuna\Breadcrumbs\Trail;
use App\Http\Controllers\Backend\ProductHub\ShopController;
use App\Http\Controllers\Backend\ProductHub\CentralProductController;
use App\Http\Controllers\Backend\ProductHub\ProductVariationController;
use App\Http\Controllers\Backend\ProductHub\ProductSyncLogController;
use App\Http\Controllers\Backend\ProductHub\ShopCategoryController;
use App\Http\Controllers\Backend\ProductHub\ShopCategoryMappingController;
use App\Http\Controllers\Backend\ProductHub\ShopAttributeMappingController;
use App\Models\CentralProductImage;
// All route names are prefixed with 'admin.'.
Route::redirect('/', '/admin/dashboard', 301);
Route::get('dashboard', [DashboardController::class, 'index'])
->name('dashboard')
->breadcrumbs(function (Trail $trail) {
$trail->push(__('Home'), route('admin.dashboard'));
});
Route::group(['as' => 'orders.'], function () {
Route::get('index', [OrdersController::class, 'index'])
->name('list')
->breadcrumbs(function (Trail $trail) {
$trail->push(__('Orders List'), route('admin.orders.list'));
});
Route::get('fetch-filter', [OrdersController::class, 'fetchOrdersBefore'])
->name('fetch-filter')
->breadcrumbs(function (Trail $trail) {
$trail->push(__('Orders Fetch'), route('admin.orders.fetch-filter'));
});
Route::post('fetch', [OrdersController::class, 'fetchOrders'])
->name('fetch')
->breadcrumbs(function (Trail $trail) {
$trail->push(__('Orders Fetch'), route('admin.orders.fetch'));
});
Route::get('duplicate', [DuplicateOrdersController::class, 'index'])
->name('duplicate')
->breadcrumbs(function (Trail $trail) {
$trail->push(__('Orders Duplicated'), route('admin.orders.duplicate'));
});
Route::get('validate', [ValidationOrdersController::class, 'index'])
->name('validate')
->breadcrumbs(function (Trail $trail) {
$trail->push(__('Orders Validation'), route('admin.orders.validate'));
});
Route::get('blacklist', [BlacklistedOrdersController::class, 'index'])
->name('blacklist')
->breadcrumbs(function (Trail $trail) {
$trail->push(__('Blacklist list'), route('admin.orders.blacklist'));
});
Route::get('codlist', [CODOrdersController::class, 'index'])
->name('codlist')
->breadcrumbs(function (Trail $trail) {
$trail->push(__('COD list'), route('admin.orders.codlist'));
});
Route::get('blacklist-csv-fixes', [BlacklistedOrdersController::class, 'csvFixes'])
->name('blacklist-csv-fixes')
->breadcrumbs(function (Trail $trail) {
$trail->push(__('Blacklist list CSV'), route('admin.orders.blacklist-csv-fixes'));
});
Route::resource('blacklisted_lists', BlacklistedListController::class);
Route::post('blacklisted_lists/import', [BlacklistedListController::class, 'import'])->name('blacklisted_lists.import');
Route::post('blacklisted_lists/{id}/increment', [BlacklistedListController::class, 'incrementCounter'])->name('blacklisted_lists.increment');
});
Route::group([
'prefix' => 'product-hub',
'as' => 'product-hub.',
], function () {
Route::post('shops/{shop}/test-connection', [ShopController::class, 'testConnection'])
->name('shops.test-connection');
Route::post('shops/{shop}/match-products', [ShopController::class, 'matchProducts'])
->name('shops.match-products');
Route::resource('shops', ShopController::class);
Route::resource('products', CentralProductController::class);
Route::get('products/{product}/variations/create', [ProductVariationController::class, 'create'])
->name('products.variations.create');
Route::post('products/{product}/variations', [ProductVariationController::class, 'store'])
->name('products.variations.store');
Route::get('variations/{variation}/edit', [ProductVariationController::class, 'edit'])
->name('variations.edit');
Route::patch('variations/{variation}', [ProductVariationController::class, 'update'])
->name('variations.update');
Route::delete('variations/{variation}', [ProductVariationController::class, 'destroy'])
->name('variations.destroy');
Route::post('products/{product}/sync', [CentralProductController::class, 'sync'])
->name('products.sync');
Route::resource('sync-logs', ProductSyncLogController::class)
->only(['index', 'show', 'destroy']);
Route::get('categories', [ShopCategoryController::class, 'index'])
->name('categories.index');
Route::get('category-mappings', [ShopCategoryMappingController::class, 'index'])
->name('category-mappings.index');
Route::post('category-mappings', [ShopCategoryMappingController::class, 'store'])
->name('category-mappings.store');
Route::get('attribute-mappings', [ShopAttributeMappingController::class, 'index'])
->name('attribute-mappings.index');
Route::post('attribute-mappings', [ShopAttributeMappingController::class, 'store'])
->name('attribute-mappings.store');
Route::post('products/bulk-sync', [CentralProductController::class, 'bulkSync'])
->name('products.bulk-sync');
Route::post('products/{product}/images', [CentralProductController::class, 'uploadImages'])
->name('products.images.upload');
Route::post('products/{product}/images/{image}/main', [CentralProductController::class, 'setMainImage'])
->name('products.images.main');
Route::delete('products/{product}/images/{image}', [CentralProductController::class, 'deleteImage'])->name('products.images.delete');
Route::post('products/{product}/refresh-from-master', [CentralProductController::class, 'refreshFromMaster'])
->name('products.refresh-from-master');
});