name('home'); Route::middleware('guest')->group(function () { Route::get('/auth/login', [LoginController::class, 'index'])->name('login'); Route::post('/auth/login', [LoginController::class, 'store']); }); Route::middleware(['auth', 'permission:'.Permission::DASHBOARD_VIEW->value])->group(function () { Route::post('/auth/logout', [LogoutController::class, 'store'])->name('logout'); Route::prefix('admin')->name('admin.')->group(function () { Route::get('/dashboard', [DashboardController::class, 'index']) ->name('dashboard'); Route::prefix('master')->name('master.') ->middleware('permission:'.Permission::CATEGORIES_VIEW->value) ->group(function () { Route::prefix('categories')->name('categories.') ->middleware('permission:'.Permission::CATEGORIES_VIEW->value) ->group(function () { Route::get('/', [CategoryController::class, 'index'])->name('index'); Route::post('/', [CategoryController::class, 'store']) ->middleware('permission:'.Permission::CATEGORIES_CREATE->value) ->name('store'); Route::put('{category}', [CategoryController::class, 'update']) ->middleware('permission:'.Permission::CATEGORIES_UPDATE->value) ->name('update'); Route::delete('{category}', [CategoryController::class, 'destroy']) ->middleware('permission:'.Permission::CATEGORIES_DELETE->value) ->name('destroy'); }); }); Route::prefix('hr')->name('hr.')->middleware('permission:'.Permission::EMPLOYEES_VIEW->value)->group(function () { Route::prefix('employees')->name('employees.') ->middleware('permission:'.Permission::EMPLOYEES_VIEW->value) ->group(function () { Route::post('{user}/reset-password', [EmployeeController::class, 'resetPassword']) ->middleware('permission:'.Permission::EMPLOYEES_RESET_PASSWORD->value) ->name('employees.reset-password'); Route::patch('{user}/toggle-status', [EmployeeController::class, 'toggleStatus']) ->middleware('permission:'.Permission::EMPLOYEES_TOGGLE_STATUS->value) ->name('employees.toggle-status'); Route::get('create', [EmployeeController::class, 'create']) ->middleware('permission:'.Permission::EMPLOYEES_CREATE->value) ->name('employees.create'); Route::post('employees', [EmployeeController::class, 'store']) ->middleware('permission:'.Permission::EMPLOYEES_CREATE->value) ->name('employees.store'); Route::get('{user}/edit', [EmployeeController::class, 'edit']) ->middleware('permission:'.Permission::EMPLOYEES_UPDATE->value) ->name('employees.edit'); Route::put('{user}', [EmployeeController::class, 'update']) ->middleware('permission:'.Permission::EMPLOYEES_UPDATE->value) ->name('employees.update'); Route::delete('{user}', [EmployeeController::class, 'destroy']) ->middleware('permission:'.Permission::EMPLOYEES_DELETE->value) ->name('employees.destroy'); Route::get('/', [EmployeeController::class, 'index'])->name('employees.index'); }); }); }); });