web.php 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. <?php
  2. use App\Http\Controllers\AreaController;
  3. use App\Http\Controllers\OrderController;
  4. use App\Http\Controllers\ProductController;
  5. use App\Http\Controllers\UserController;
  6. use App\Models\Role;
  7. use Illuminate\Support\Facades\Auth;
  8. use Illuminate\Support\Facades\Route;
  9. Route::get('/', function () {
  10. return redirect()->route('home');
  11. });
  12. Auth::routes(['register' => false, 'reset' => false, 'verify' => false, 'confirm' => false]);
  13. Route::get('/home', [App\Http\Controllers\HomeController::class, 'index'])->name('home');
  14. Route::middleware('auth:web')->group(function () {
  15. // admin routes
  16. Route::prefix('admin')->middleware('role:' . Role::ADMIN)->group(function (){
  17. Route::prefix('users')->group(function (){
  18. Route::get('', [UserController::class, 'index'])->name('user.index');
  19. Route::get('create', [UserController::class, 'create'])->name('user.create');
  20. Route::get('{user}', [UserController::class, 'show'])->name('user.show');
  21. Route::post('', [UserController::class, 'store'])->name('user.store');
  22. Route::put('{user}', [UserController::class, 'update'])->name('user.update');
  23. Route::delete('{user}', [UserController::class, 'destroy'])->name('user.destroy');
  24. });
  25. });
  26. // profile
  27. Route::get('profile', [UserController::class, 'profile'])->name('user.profile');
  28. Route::post('profile/store', [UserController::class, 'storeProfile'])->name('profile.store');
  29. // catalog
  30. Route::get('catalog', [ProductController::class, 'index'])->name('catalog.index');
  31. Route::get('catalog/{product}', [ProductController::class, 'show'])->name('catalog.show');
  32. Route::post('catalog/import', [ProductController::class, 'import'])->name('catalog.import');
  33. Route::post('catalog/export', [ProductController::class, 'export'])->name('catalog.export');
  34. // orders
  35. Route::get('order', [OrderController::class, 'index'])->name('order.index');
  36. Route::get('order/create', [OrderController::class, 'create'])->name('order.create');
  37. Route::get('order/{order}', [OrderController::class, 'show'])->name('order.show');
  38. Route::post('order/store', [OrderController::class, 'store'])->name('order.store');
  39. Route::post('order/{order}/store', [OrderController::class, 'store'])->name('order.update');
  40. Route::get('order/destroy', [OrderController::class, 'destroy'])->name('order.destroy');
  41. // ajax search products
  42. Route::get('product/search', [ProductController::class, 'search'])->name('product.search');
  43. // ajax get areas by district
  44. Route::get('areas/{district_id?}', [AreaController::class, 'ajaxGetAreasByDistrict'])->name('area.ajax-get-areas-by-district');
  45. });